mySql撇号语法

问题描述 投票:-2回答:1

我可以使用。将包含撇号的值插入到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($ query)或die($ mysqli - > error.LINE);

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

我该怎么用?

php mysql database
1个回答
0
投票

你必须逃避撇号。使用parameterized queries或mysql_real_escape或其他一些可能性来解决您的问题。如果你的工作做得好,你也会保护自己免受SQL injections的伤害。

© www.soinside.com 2019 - 2024. All rights reserved.