这几乎是我第一次使用 MYSQL,我似乎无法修复这个我不断遇到的错误。我正在尝试将数据存储到其 id(第一列)上具有 auto_increment 的表中。 我不断收到的错误是:
"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 'voorletters ='asd', tussenvoegsel ='', achternaam ='', roepnaam ='', adres ='', ' at line 1"
我只是用一些垃圾填充了文本框,也没有需要数据的列。这是我使用的代码:
if(isset($_POST['save']))
{
$voorletters = $_POST['voorletters'];
$tussenvoegsel = $_POST['tussenvoegsel'];
$achternaam = $_POST['achternaam'];
$roepnaam = $_POST['roepnaam'];
$adres = $_POST['adres'];
$postcode = $_POST['postcode'];
$plaats = $_POST['plaats'];
$geslacht = $_POST['geslacht'];
$emailadres = $_POST['emailadres'];
$telefoonnummer = $_POST['telefoonnummer'];
$mobielenummer = $_POST['mobielenummer'];
$geboortedatum = $_POST['geboortedatum'];
$bsn = $_POST['bsn'];
mysql_query("INSERT INTO `naw` "
. "voorletters ='$voorletters', "
. "tussenvoegsel ='$tussenvoegsel', "
. "achternaam ='$achternaam', "
. "roepnaam ='$roepnaam', "
. "adres ='$adres', "
. "postcode ='$postcode', "
. "plaats ='$plaats', "
. "geslacht ='$geslacht', "
. "emailadres ='$emailadres', "
. "telefoonnummer ='$telefoonnummer', "
. "mobielenummer ='$mobielenummer', "
. "geboortedatum ='$geboortedatum', "
. "bsn ='$bsn' "
. "WHERE id = '$id'")
or die(mysql_error());
如果这还不够,请告诉我。我已经尝试了很多东西,但我似乎无法弄明白。
最佳答案
您混淆了 insert
和 update
语法。替换
INSERT INTO `naw` voorletters ='$voorletters'...
与
UPDATE `naw` set voorletters ='$voorletters'....
而且您应该真正使用准备好的语句来避免由于用户输入而导致的语法错误和 SQL 注入(inject)。
关于php - MySQL 插入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34745912/