我在使用 INSERT 语句时遇到问题,错误仅显示:
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 '' at line 1
一点用都没有。 到目前为止我尝试过但失败的版本是:
mysql_query("INSET INTO `cos` VALUES ('".$_GET['prod']."','".$_GET['page']."')");
[不用说打印时两个变量显示正确的值] 我也尝试过表名周围没有任何内容的版本,带有`或',一百万种组合真的没有任何效果。甚至没有常量或不同的表。它只是永远不会插入任何东西。我已经检查了权限(我正在使用 root 登录),并且一切正常。
我已经在具有相同服务器 (XAMPP 1.7.7) 的两台不同机器上尝试过类似的东西并且它有效。我完全莫名其妙!它可以是什么?
感谢您的宝贵时间!
最佳答案
首先,只需正确输入 INSERT
。
像这样使用 _GET
真的会让你接触到 SQL INJECTIONS...
请查看 MySQL prepared statements .
命名要向其中插入数据的列也是良好做法。这允许您稍后插入额外的列并保留应用程序逻辑。
INSERT INTO cos(rowName1, rowName2) VALUES(?, ?)
哪里 ?
是准备语句。
关于PHP MySQL INSERT语句语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8786444/