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

Dre*_*rew 7 php mysql apostrophe

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

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

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

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

sty*_*yts 17

你必须$name = mysql_real_escape_string($name);在那之前.

您可能还想阅读SQL注入,因为您的输入显然未经过清理.