这几乎是我第一次使用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)
如果这还不够,请告诉我.我尝试了很多东西,但我似乎无法弄明白.
你混淆insert和update语法.更换
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注入.
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |