6

我的数据库中有偶尔包含撇号的名称记录,例如Joe's Bar,我刚刚在 PHP 中编写了一个查询脚本,该脚本抓取该字段并将其粘贴到具有通常的选择语句中,$query = "SELECT address FROM restaurants WHERE name='$name'";并且某些餐厅名称中的撇号使 Love Train 脱轨.

我如何防止这种情况发生?

Snide answer - 使用您通过 PHP 将它们插入数据库时​​使用的相同技术。
反驳——我当时遇到了同样的问题,然后直接使用 PHPMyAdmin 欺骗并输入了麻烦的问题,但这不能再被忽略了。

感谢您在假期花时间回答这个问题。

4

2 回答 2

15

你必须$name = mysql_real_escape_string($name);在那条线之前。

您可能还想阅读SQL Injections,因为您的输入显然未经处理。

于 2009-12-25T15:29:48.163 回答
4

看看这里

于 2009-12-25T15:19:17.347 回答