mySql撇号语法

时间:2013-10-12 16:06:58

标签: php mysql database

我可以使用

将包含撇号的值插入到MySql数据库中
 //will try to insert the word //test'testa
 $escapedWord = $mysqli->real_escape_string($word);
 $queryInsert = "INSERT INTO myTable (theWord) VALUES ('$escapedWord')";

这个词正在插入数据库,如下所示:test'testa (我手动检查)

但是,在尝试从数据库中检索相同的值时,我收到以下错误:

我正在使用的查询如下:

  

$ query =“SELECT * FROM myTable where id ='$ id'”;

     

$ result = $ mysqli - >查询($ query)或死($ mysqli - >错误。 LINE );

     

您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以便在第235行插入错误的'testa','1388490898000')附近使用正确的语法。

我应该使用什么?

1 个答案:

答案 0 :(得分:0)

你必须逃避撇号。使用parameterized queries或mysql_real_escape或其他一些方法来解决您的问题。如果你的工作做得好,你也可以保护自己不受SQL injections的影响。