SQL syntax fout
Goede middag, ik zit al een tijdje naar deze fout te kijken maar ik kom er niet uit.
kan iemand mij misschien uitleggen de fout is?
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '( nieuws_id, login, bericht, datum) values( '2', 'digitallobster', 'Dit i' at line 1
De code :
De database is :
id (auto)
nieuws_id (int32)
Login (varchar255)
bericht(TEXT)
Datum (datumtime)
Mvg.
kan iemand mij misschien uitleggen de fout is?
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '( nieuws_id, login, bericht, datum) values( '2', 'digitallobster', 'Dit i' at line 1
De code :
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
$datum_r = date("Y-m-d H:i:s");
$bericht = htmlspecialchars(trim($_POST['bericht']));
mysqli_query($dbcreat,
"INSERT INTO (
nieuws_id,
login,
bericht,
datum) values(
'".mysqli_real_escape_string($dbcreat,$fnieuws->id) ."',
'".mysqli_real_escape_string($dbcreat,$data->login)."',
'".mysqli_real_escape_string($dbcreat,$bericht) ."',
'".mysqli_real_escape_string($dbcreat,$datum_r) ."')") or die(mysqli_error($dbcreat));
$bericht = htmlspecialchars(trim($_POST['bericht']));
mysqli_query($dbcreat,
"INSERT INTO (
nieuws_id,
login,
bericht,
datum) values(
'".mysqli_real_escape_string($dbcreat,$fnieuws->id) ."',
'".mysqli_real_escape_string($dbcreat,$data->login)."',
'".mysqli_real_escape_string($dbcreat,$bericht) ."',
'".mysqli_real_escape_string($dbcreat,$datum_r) ."')") or die(mysqli_error($dbcreat));
De database is :
id (auto)
nieuws_id (int32)
Login (varchar255)
bericht(TEXT)
Datum (datumtime)
Mvg.
Gewijzigd op 27/05/2016 13:30:24 door Eeyk Vd noot
INSERT INTO welke tabel? ;-)
Gewijzigd op 27/05/2016 13:15:42 door - Ariën -
Oh Wauw!
Bedankt! daar heb ik dus echt 2 uur naar zitten google. -.-
Bedankt!
Bedankt! daar heb ik dus echt 2 uur naar zitten google. -.-
Bedankt!
Daarom vind ik het vaak handig om de SQL-query in een losse variabele op te slaan, zodat je die kan echo'en.
Dan weet je precies welke querie er uiteindelijk wordt uitgevoerd na alle bewerkingen in PHP.
Dan weet je precies welke querie er uiteindelijk wordt uitgevoerd na alle bewerkingen in PHP.
Gewijzigd op 27/05/2016 13:22:36 door - Ariën -
Ik zie dat je daar htmlspecialchars() toepast op data die de database ingaat?
Het is doorgaans beter om data rauw in je database te stoppen. En ook is het (in het verlengde hiervan) beter om er van uit te gaan dat data nog niet ge-escaped is. Op het moment dat je deze data weer weergeeft pas je escaping-functionaliteit toe (escape output).
Anders sta je mogelijk ook voor het volgende dilemma: is de data in je database al ge-escaped en kun je er van uitgaan dat dit altijd netjes gebeurt? Het is gewoon veiliger en handiger om aan te nemen dat dit nog niet is gebeurd.
En een tekstuele kolom voor de poster van het bericht (of wat voor betekenis heeft dit?). Really?
Het is doorgaans beter om data rauw in je database te stoppen. En ook is het (in het verlengde hiervan) beter om er van uit te gaan dat data nog niet ge-escaped is. Op het moment dat je deze data weer weergeeft pas je escaping-functionaliteit toe (escape output).
Anders sta je mogelijk ook voor het volgende dilemma: is de data in je database al ge-escaped en kun je er van uitgaan dat dit altijd netjes gebeurt? Het is gewoon veiliger en handiger om aan te nemen dat dit nog niet is gebeurd.
En een tekstuele kolom voor de poster van het bericht (of wat voor betekenis heeft dit?). Really?




