插入期间的撇号(Mysql)

时间:2011-12-28 02:11:17

标签: php mysql insert

我通过PHP文本框获取数据,并使用普通的insert命令将其插入MySQL数据库。文本框向用户发送注释,以获取文本框旁边的特定入藏ID。问题是当用户输入撇号(')例如句子“我们必须照顾PC”时,会抛出错误。

我知道为什么会发生这种情况,因为SQL认为它是该值的字符串的结尾,但我不知道如何逃避它。我宁愿在MYSQL中转义它。

如果我在MySQL中将其转义,即使没有生成错误且插入工作正常,它仍然可以被用作SQL注入吗?

3 个答案:

答案 0 :(得分:6)

使用mysql_real_escape_string(),或者更好的是,将参数化查询与PDO一起使用。

答案 1 :(得分:1)

答案 2 :(得分:0)

使用 MySQLi准备语句。

您可以轻松传递特殊字符而无需任何额外工作。

阅读MySQLi prepared statements.