标签: php mysql insert
我通过PHP文本框获取数据,并使用普通的insert命令将其插入MySQL数据库。文本框向用户发送注释,以获取文本框旁边的特定入藏ID。问题是当用户输入撇号(')例如句子“我们必须照顾PC”时,会抛出错误。
我知道为什么会发生这种情况,因为SQL认为它是该值的字符串的结尾,但我不知道如何逃避它。我宁愿在MYSQL中转义它。
如果我在MySQL中将其转义,即使没有生成错误且插入工作正常,它仍然可以被用作SQL注入吗?
答案 0 :(得分:6)
使用mysql_real_escape_string(),或者更好的是,将参数化查询与PDO一起使用。
mysql_real_escape_string()
答案 1 :(得分:1)
使用函数mysql_real_escape_string()
答案 2 :(得分:0)
使用 MySQLi准备语句。
您可以轻松传递特殊字符而无需任何额外工作。
阅读MySQLi prepared statements.