2

item_nameという列のデータベースがあります。LIKE句を使用してitem_name列のキーワードを使用してデータベースからデータをプルしようとしていますが、何も返されません。以下の私のコードに何か問題がありますか?ORの代わりにコンマとANDを試しましたが、まだ結果がありません。

$sql = mysql_query("SELECT category, item_name, link, price, pic, retailer FROM products WHERE item_name LIKE ('%gtx%') OR ('%video%') OR ('%sound%') ORDER BY id DESC");

$query = ($sql) or die (mysql_error());

while ($result = mysql_fetch_array($query)) { 
4

3 に答える 3

2

LIKEそれぞれの後に指定する必要がありますOR

SELECT category, item_name, link, price, pic, retailer 
FROM products 
WHERE item_name LIKE ('%gtx%') 
    OR item_name LIKE ('%video%') 
    OR item_name LIKE ('%sound%') 
ORDER BY id DESC
于 2012-05-01T18:39:03.353 に答える
0

LIKEそれぞれの後に追加する必要があるORため、SQLセットは次のようになります。

SELECT category, item_name, link, price, pic, retailer FROM products 
WHERE item_name LIKE ('%gtx%') 
      OR item_name LIKE ('%video%') 
      OR item_name LIKE ('%sound%') 
ORDER BY id DESC

古い文では、LIKEがないと、データベースは('%video%')という用語を論理値のように理解できないためです。

于 2012-05-01T18:40:02.447 に答える
0


WHERE(item_name'%gtx%' OR item_name LIKE'%video%' OR item_name LIKE'%sound%')を使用してみてください。私はこれが実行されると思います。mysqlインターフェースで直接クエリをテストしましたか?

于 2012-05-01T18:38:25.957 に答える