【发布时间】:2014-06-21 12:43:46
【问题描述】:
我正在尝试在我的网站上展示与相关产品类似的内容。我已经测试了以下查询,没有收到任何错误;但我也没有得到任何结果。
<?php
$relatedStmt = $db->query("SELECT * FROM items WHERE tag LIKE id = 1 LIMIT 3");
?>
我还尝试了%1%,它显示了所有结果,我假设代码认为查询只是SELECT * FROM items。
列中的标签以以下格式显示:tagone two three four,所以我试图显示具有相似标签的产品,因此我使用了LIKE 子句。
当前查询与此查询相关:SELECT * FROM items WHERE id = 1。所以LIKE id = 1就是寻找匹配这个查询的标签来展示相关产品。
【问题讨论】:
-
你能给我们看一张桌子的样本吗?
-
将
LIKE视为CONTAINS-WHERE tag LIKE "%red%" will find all rows where the tag *contains* the stringred` -
@ncdreamy 我已经用表格截图更新了问题。
-
好的,那么您要从该表中提取什么?查看表格时,您的查询毫无意义。
-
在这种情况下,您可以简单地执行
SELECT * FROM items WHERE tag = (select tag from items where id = 1),但这与说SELECT * FROM items WHERE id = 1相同。我真的对你的问题感到困惑。
标签: php mysql sql pdo sql-like