MySQL插入错误

Yuk*_*uya 0 php mysql

这几乎是我第一次使用MYSQL,我似乎无法解决这个错误.我正在尝试将数据存储到其id(第一列)上有auto_increment的表中.我一直得到的错误是这样的:

"您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在'voorletters ='asd'附近使用正确的语法,tussenvoegsel ='',achternaam ='',roepnaam ='',adres ='','在第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()); 
Run Code Online (Sandbox Code Playgroud)

如果这还不够,请告诉我.我尝试了很多东西,但我似乎无法弄明白.

jue*_*n d 5

你混淆insertupdate语法.更换

INSERT INTO `naw` voorletters ='$voorletters'...
Run Code Online (Sandbox Code Playgroud)

UPDATE `naw` set voorletters ='$voorletters'....
Run Code Online (Sandbox Code Playgroud)

您应该使用Prepared Statements来避免由于用户输入而导致的语法错误和SQL注入.