一尘不染

撇号打破了我在PHP中的mysql查询

mysql

我的数据库中的名称记录偶尔包含撇号,例如,Joe's Bar而我刚刚用PHP编写了一个查询脚本,该脚本捕获了该字段并将其粘贴到带有通常$query = "SELECT address FROM restaurants WHERE name='$name'";名称的select语句中,某些餐馆名称中的撇号使Love Train脱轨。

如何避免这种情况发生?

答案 -使用与通过PHP将它们插入数据库时​​使用的相同技术。
反驳 -然后我遇到了同样的问题,然后直接使用PHPMyAdmin作弊并输入了麻烦的问题,但这再也不能忽略了。

感谢您抽出宝贵的时间在假期中回答这个问题。


阅读 169

收藏
2020-05-17

共1个答案

一尘不染

您必须$name = mysql_real_escape_string($name);在该行之前。

您可能还想阅读SQL
Injections
,因为您的输入显然没有经过过滤。

2020-05-17