快速mysql_query()问题

时间:2011-02-22 22:57:44

标签: mysql sql variables

我有以下代码:

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本身中添加单引号会使我感到困惑。

我尝试与.连接,但我不认为这是一个很好的解决方案。

3 个答案:

答案 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."%'");

尝试并使用它,它应该适用于你正在尝试的东西:)