我的数据库中的名称记录偶尔包含撇号,例如,Joe's Bar而我刚刚用PHP编写了一个查询脚本,该脚本捕获了该字段并将其粘贴到带有通常$query = "SELECT address FROM restaurants WHERE name='$name'";名称的select语句中,某些餐馆名称中的撇号使Love Train脱轨。
Joe's Bar
$query = "SELECT address FROM restaurants WHERE name='$name'";
如何避免这种情况发生?
答案 -使用与通过PHP将它们插入数据库时使用的相同技术。 反驳 -然后我遇到了同样的问题,然后直接使用PHPMyAdmin作弊并输入了麻烦的问题,但这再也不能忽略了。
感谢您抽出宝贵的时间在假期中回答这个问题。
您必须$name = mysql_real_escape_string($name);在该行之前。
$name = mysql_real_escape_string($name);
您可能还想阅读SQL Injections,因为您的输入显然没有经过过滤。