我有以下代码:
mysql_query("SELECT * FROM list WHERE name LIKE '%'$searchTerm'%' OR description LIKE '%'$searchTerm'%';");唯一的问题是,在纯SQL中,这样的查询将如下所示:
SELECT * FROM list WHERE name LIKE '%asdf%' OR description LIKE '%asdf%'我困惑的是如何正确地将变量放入字符串中,通常mysql_query中的变量会被单引号括起来,但在SQL中添加单引号本身会让我感到困惑。
我尝试使用.进行连接,但我不认为这是一个好的解决方案。
发布于 2011-02-23 06:59:58
mysql_query("SELECT * FROM list WHERE name LIKE '%$searchTerm%' OR description LIKE '%$searchTerm%';");你为什么不直接..。
echo "SELECT * FROM list WHERE name LIKE '%$searchTerm%' OR description LIKE '%$searchTerm%';"...and查看查询的实际外观。
发布于 2011-08-05 04:52:32
我不知道PHP,但我建议使用一个替换函数来管理字符"'“到$searchterm中。这也可以避免sql注入。
发布于 2011-02-23 07:05:36
对我来说,这是最清晰的方式,使用“。要连接,请执行以下操作:
mysql_query("SELECT * FROM list WHERE name LIKE '%".$searchTerm."%' OR description LIKE '%".$searchTerm."%'");试着使用它,它应该对你正在尝试的东西起作用:)
https://stackoverflow.com/questions/5085063
复制相似问题