我正在做一个简单的搜索,以下查询是否正确?
mysql_query("SELECT * FROM products WHERE name LIKE'$searchquery' AND description LIKE'$searchquery'");
编辑:
LIKE '$searchquery;
这部分需要一个空格,事实证明这是一个语法问题。第二种方式我很感兴趣。正如@ yes123所建议的那样。
SELECT * FROM products WHERE MATCH(name,description) AGAINST ('$searchQuery')
我这样做,我得到了:
Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /home/search.php on line 62
答案 0 :(得分:2)
要搜索purpouse,您应该使用FULL TEXT索引。此时,您的查询将变为:
[...] WHERE MATCH(col1,col2) AGAINST ('your search') [...]
请使用PDO
答案 1 :(得分:1)
是的,语法是正确的,只有问题似乎是在LIKE之后有空格,因此尝试
SELECT * FROM products WHERE NAME LIKE '$searchquery' AND description LIKE '$searchquery';
答案 2 :(得分:1)
这是正确的,但是,您需要在两个地方的LIKE
和'$searchquery'
之间加一个空格。