0

簡単な検索を行っていますが、次のクエリは正しいでしょうか?

mysql_query("SELECT * FROM products WHERE name LIKE'$searchquery' AND description LIKE'$searchquery'");

編集:

LIKE '$searchquery;この部分にはスペースが必要でしたが、構文の問題であることが判明しました。私はそれを2番目の方法で行うことに非常に興味をそそられます。@ 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

目的を検索するには、FULL TEXT インデックスを使用する必要があります。その時点で、クエリは次のようになります。

[...] 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 に答える