我有phpmyadmin的问题,像这样:
“字段列表”
中的未知列''值''和我的代码:
$query=mysql_query("INSERT INTO `pln`(`ppno`,`persno`,`pernum`,`psgrup`,`lv`,`pos`,`nppsimkp`,`persub`,`busrea`,`pdthr`,`gk`,`marstakey`,`bkey`,`bakun`,`numtd`,`email`,`bdate`) VALUES (`'$ppno'`,`'$persno'`,`'$pernum'`,`'$psgrup'`,`'$lv'`,`'$pos'`,`'$nppsimkp'`,`'$persub'`,`'$busrea'`,`'$pdthr'`,`'$gk'`,`'$marstakey'`,`'$bkey'`,`'$bakun'`,`'$numtd'`,`'$email'`,`'$bdate'`)") or die(mysql_error());
为什么会发生这种情况,我使用反引号(`),因为我的输入就像“o'neil”和“jum'at”。 谢谢。
答案 0 :(得分:2)
addslashes()
可能是一个解决方案。此函数将添加斜杠以转义导致错误的值(字符串),例如,如果$persno
中的字符串在名称中包含引号,则只需使用函数将其转义
VALUES ('$ppno','".addlashes($persno)."','$pernum',
我宁愿建议停止使用mysql_ *已弃用的功能,然后继续使用PDO
或mysqli
,并使用预备语句来处理类似这样的情况。将保护您免受mysql injections
答案 1 :(得分:0)
请用此替换您的查询,您的查询有错误
$query=mysql_query("INSERT INTO `pln`(`ppno`,`persno`,`pernum`,`psgrup`,`lv`,`pos`,`nppsimkp`,`persub`,`busrea`,`pdthr`,`gk`,`marstakey`,`bkey`,`bakun`,`numtd`,`email`,`bdate`) VALUES ('".$ppno."','".$persno."','".$pernum."','".$psgrup."','".$lv."','".$pos."','".$nppsimkp."','".$persub."','".$busrea."','".$pdthr."','".$gk."','".$marstakey."','".$bkey."','".$bakun."','".$numtd."','".$email."','".$bdate."'")") or die(mysql_error());