我有以下代码:
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本身中添加单引号会使我感到困惑。
我尝试与.
连接,但我不认为这是一个很好的解决方案。
答案 0 :(得分:4)
mysql_query("SELECT * FROM list WHERE name LIKE '%$searchTerm%' OR description LIKE '%$searchTerm%';");
你为什么不...... [/ p>
echo "SELECT * FROM list WHERE name LIKE '%$searchTerm%' OR description LIKE '%$searchTerm%';"
...并查看查询的实际效果......
答案 1 :(得分:1)
我不知道PHP,但我建议使用替换函数将字符“'”管理到$ searchterm中。这也可以避免sql注入..
答案 2 :(得分:0)
这对我来说是最清晰的方式,使用“。”连接:
mysql_query("SELECT * FROM list WHERE name LIKE '%".$searchTerm."%' OR description LIKE '%".$searchTerm."%'");
尝试并使用它,它应该适用于你正在尝试的东西:)