MYSQL LIKE子句什么都没有返回?

时间:2012-05-01 18:35:48

标签: mysql sql-like

我有一个名为item_name的数据库。我试图使用LIKE子句使用我的item_name列中的关键字从我的数据库中提取数据但是没有得到任何返回。我的代码下面有什么问题吗?我尝试过逗号和AND而不是OR,但仍然没有结果。

$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)) { 

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

尝试使用:
    WHERE(item_name'%gtx%'或item_name LIKE'%video%'或item_name LIKE'%sound%') 。我想这会运行。你是否直接在mysql界面中测试了你的查询?

答案 2 :(得分: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%')术语就像逻辑值。