Parse error: syntax error, unexpected ',' in O:\webserver\root\mysql\index.php on line 20
Bij deze query krijg ik de volgende error:
Quote:
Parse error: syntax error, unexpected ',' in O:\webserver\root\mysql\index.php on line 20
Code (php)
1
2
3
4
5
2
3
4
5
$query = '
INSERT INTO
`recept` (`naam`, `koste`, `kok`, `ip`, `date`)
VALUES
(' . $naam . '','' . $koste . '','' . $kok . '','' . $ip . '','' . $date . ');';
INSERT INTO
`recept` (`naam`, `koste`, `kok`, `ip`, `date`)
VALUES
(' . $naam . '','' . $koste . '','' . $kok . '','' . $ip . '','' . $date . ');';
Hoe voorkom ik dat? Is er misschien een andere manier om meerdere value's toe te voegen?
Alvast bedankt, Josaus.
Nog een commentaar op Kees: SQL injection! Voor mySQL database, gebruik: mysql_real_escape_string();
(' . $naam . '',
Je hebt hier 3 quotes, dat is probleem 1..
Verder zou ik het zo oplossen:
VALUES ('".mysql_real_escape_string($sValue)."') enz..
Gewijzigd op 26/07/2010 20:14:56 door Aad B
Het volgende zou moeten werken:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$query = "
INSERT INTO
recept (naam, koste, kok, ip, date)
VALUES
('".$naam."','".$koste."','".$kok."','".$ip."','".$date."')";
?>
$query = "
INSERT INTO
recept (naam, koste, kok, ip, date)
VALUES
('".$naam."','".$koste."','".$kok."','".$ip."','".$date."')";
?>
Verder ben ik het met Mark en Erik eens, let op SQL Injection.
Zorg ervoor dat elke variabel die je invoert netjes mysql_real_escape_string() bevat.
Jonathan de Vries op 26/07/2010 20:20:31:
Iets te snel getypt daarnet,
Het volgende zou moeten werken:
Verder ben ik het met Mark en Erik eens, let op SQL Injection.
Zorg ervoor dat elke variabel die je invoert netjes mysql_real_escape_string() bevat.
Het volgende zou moeten werken:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$query = "
INSERT INTO
recept (naam, koste, kok, ip, date)
VALUES
('".$naam."','".$koste."','".$kok."','".$ip."','".$date."')";
?>
$query = "
INSERT INTO
recept (naam, koste, kok, ip, date)
VALUES
('".$naam."','".$koste."','".$kok."','".$ip."','".$date."')";
?>
Verder ben ik het met Mark en Erik eens, let op SQL Injection.
Zorg ervoor dat elke variabel die je invoert netjes mysql_real_escape_string() bevat.
Ofterwijl:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$query = "
INSERT INTO
recept (naam, koste, kok, ip, date)
VALUES
('".mysql_real_escape_string($naam)."','".mysql_real_escape_string($koste)."','".mysql_real_escape_string($kok)."','".mysql_real_escape_string($ip)."','".mysql_real_escape_string($date)."')";
?>
$query = "
INSERT INTO
recept (naam, koste, kok, ip, date)
VALUES
('".mysql_real_escape_string($naam)."','".mysql_real_escape_string($koste)."','".mysql_real_escape_string($kok)."','".mysql_real_escape_string($ip)."','".mysql_real_escape_string($date)."')";
?>
if($ik == "fout"){
//Corrigeer me ;)
}
Gewijzigd op 27/07/2010 06:24:37 door Maestro Roboroads
Waarom onnodige variabelen aanmaken?
En die datum, even vanuitgaande dat hij hem een registratie datum wil geven kan met NOW() als het een datumveld is.
EDIT is geen gereserveerd woord..
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$query = " INSERT INTO recept (naam,
koste,
kok,
ip,
date
)
VALUES('".mysql_real_escape_string($_POST['naam'])."',
'".mysql_real_escape_string($_POST['koste'])."',
'".mysql_real_escape_string($_POST['kok'])"',
'".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."',
NOW())";
?>
$query = " INSERT INTO recept (naam,
koste,
kok,
ip,
date
)
VALUES('".mysql_real_escape_string($_POST['naam'])."',
'".mysql_real_escape_string($_POST['koste'])."',
'".mysql_real_escape_string($_POST['kok'])"',
'".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."',
NOW())";
?>
Gewijzigd op 27/07/2010 08:09:04 door Bart V B
Het is erg aannemelijk te denken dat deze gegevens, formuliergegevens zijn.. maar dat staat nergens aangegeven.
Dat het er niet staat is zeer aannemelijk, het zou ook onlogisch zijn.
Want, als het niet niet via een formulier gaat, dan kan je net zo goed die waardes rechtstreeks in je query kunnen zetten. ;) Anders maak je nog steeds onnodige variabelen aan.