0

我正在做一个简单的搜索,以下查询是否正确?

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

4

3 回答 3

2

对于搜索目的,您应该使用全文索引。那时您的查询将变为:

[...] WHERE MATCH(col1,col2) AGAINST ('your search') [...]

请使用 PDO

于 2012-04-30T00:19:51.150 回答
1

是的,语法是正确的,唯一的问题似乎是 LIKE 后有空格,因此尝试 SELECT * FROM products WHERE NAME LIKE '$searchquery' AND description LIKE '$searchquery';

于 2012-04-30T00:22:17.513 回答
1

这是正确的,但是,您需要在两个位置之间LIKE'$searchquery'两个位置之间放置一个空格。

于 2012-04-30T00:22:42.067 回答