Php 未知列'';价值'';在';字段列表';
我对phpmyadmin有一个问题,如下所示: “字段列表”中的未知列“值” 我的代码是:Php 未知列'';价值'';在';字段列表';,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我对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
$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());
为什么会发生这种情况,我使用backticks(`),因为我在那里的输入像“o'neil”和“jum'at”。
谢谢。可能是个解决办法。此函数将添加斜杠以转义导致错误的值(字符串),因此,例如,如果$persno
中的字符串名称中有引号,则只需使用函数转义即可
VALUES ('$ppno','".addlashes($persno)."','$pernum',
我建议停止使用mysql_*deprecated函数,转而使用or或,使用准备好的语句,它可以处理类似的情况,也可以保护您免受请用这个替换您的查询,您的查询有错误
$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());
您不应该同时使用
'
和`
像`$someVar`
。这没有道理。第二件事是,在将值放入查询之前,应该对其进行转义。那么你就不必担心“
在值中签名了。我们只是不再这样做了。