variabele invoegen in mysql db
peter paul
21/04/2011 14:06:26Ik ben een tijd niet meer gewerkt met mysql en ben ook vrijwel alles vergeten. Ik ben nu op het volgende gestuit.
Ik zou graag 2 variabele in mijn db willen invoeren. Ik denk dat het probleem is dat ik (') ook wil toevoegen.
Ik krijg de volgende fout: "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 'test')' at line 1"
Weet iemand hier misschien een oplossing voor?
Ik zou graag 2 variabele in mijn db willen invoeren. Ik denk dat het probleem is dat ik (') ook wil toevoegen.
Ik krijg de volgende fout: "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 'test')' at line 1"
Code (php)
1
2
3
4
5
6
2
3
4
5
6
$INFO_I = "hier wat info met 'test ";
$INFO_I = "nog meer info";
$sql = "INSERT IGNORE INTO table (`id`, veld_I, veld_II) VALUES (NULL, '". $INFO_I ."', '". $INFO_II ."')";
mysql_query($sql) or die(mysql_error());
$INFO_I = "nog meer info";
$sql = "INSERT IGNORE INTO table (`id`, veld_I, veld_II) VALUES (NULL, '". $INFO_I ."', '". $INFO_II ."')";
mysql_query($sql) or die(mysql_error());
Weet iemand hier misschien een oplossing voor?
Gewijzigd op 21/04/2011 14:07:39 door Peter paul
PHP hulp
24/11/2024 08:06:45Vincent Huisman
21/04/2011 14:11:12Gerben Jacobs
21/04/2011 14:30:55Ik gebruik altijd sprintf(), dan vangt hij ook automatisch verkeerde waardes op.
En als je %d gebruikt en je vult een string in, dan maakt hij er 0 van, want "string" = geen integer.
Zie meer info: http://php.net/manual/en/function.sprintf.php
Code (php)
1
2
3
4
2
3
4
<?php
$sql = sprintf('INSERT INTO table (id, veld_I, veld_II, eenIntVeld) VALUES (null, "%s", "%s", %d)',
mysql_real_escape_string($INFO_I), mysql_real_escape_string($INFO_II), 60);
?>
$sql = sprintf('INSERT INTO table (id, veld_I, veld_II, eenIntVeld) VALUES (null, "%s", "%s", %d)',
mysql_real_escape_string($INFO_I), mysql_real_escape_string($INFO_II), 60);
?>
En als je %d gebruikt en je vult een string in, dan maakt hij er 0 van, want "string" = geen integer.
Zie meer info: http://php.net/manual/en/function.sprintf.php
Gewijzigd op 21/04/2011 14:31:55 door Gerben Jacobs
Noppes Homeland
21/04/2011 17:24:37Ja maar dan doe je het niet qoed, binnne sql quote je strings met enkele quotes en niet met "", want die hebben in feite een andere betekenis