【发布时间】:2012-02-22 22:17:38
【问题描述】:
我已经检查了这段代码无数次,但看不出有什么问题。但它给了我消息,“错误:您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在 'when、name、reporter、contacts、Suggestions、remarks) 附近使用('我又来了','我','在第 1 行"
请帮忙!
对不起,对不起,我太棒了!急着找工作,我粘贴了错误的代码。这是正确的代码行。
$sql="INSERT INTO one_on_one_reports (whenever, name, reporter, contacts, suggestions, remarks) VALUES ('$_POST[whenever]', '$_POST[name]', '$_POST[reporter]', '$_POST[contacts]', '$_POST[suggestions]', '$_POST[remarks]')";
我在两次驾驶之间。又得跑了。但我再次为错误的粘贴道歉。稍后我会考虑防止注射。此文件位于受密码保护的文件夹中,如果这有什么不同的话。
布鲁斯
【问题讨论】:
-
这段代码肯定有问题:你没有清理你的查询参数!!把这也当作部分答案。
-
欢迎来到 Stack Overflow!您显示的代码易受SQL injection 的攻击。使用正确的库清理方法(例如经典 mysql 库的
mysql_real_escape_string()),或切换到 PDO 和准备好的语句。 -
您确定该错误与此特定查询有关吗?我看到错误中的字段不在您的查询中。
-
您能发布完整的查询吗?我认为您没有正确转义您的数据,这会导致您出现问题。
-
同意所有以前的 cmets。您发布的代码似乎不是正确的位。
when, name, reporter, contacts, suggestions, remarks在插入列表中的什么位置?