我有一个名为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)) {
答案 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%')术语就像逻辑值。