Php 搜索函数SQL的输出错误

Php 搜索函数SQL的输出错误,php,sql,string,output,Php,Sql,String,Output,我尝试将元数据标记连接到用户,我得到了它们之间的关系,但是当我搜索标记时,我得到了一个大的输出。我有一个名为Chips的标签,但输出是17个不同的用户。他们中没有一个人与这个词或标签无关 要明确我要做的事情: 我正在做一个搜索功能,可以搜索用户名,座右铭和标签。 这是您的查询: SELECT * FROM users, user_tags WHERE . . . 问题与您的WHERE子句无关。它是来自的中的逗号。简单规则:切勿在FROM子句中使用逗号。始终使用显式JOIN语法 正确的语法看起

我尝试将元数据标记连接到用户,我得到了它们之间的关系,但是当我搜索标记时,我得到了一个大的输出。我有一个名为Chips的标签,但输出是17个不同的用户。他们中没有一个人与这个词或标签无关

要明确我要做的事情: 我正在做一个搜索功能,可以搜索用户名,座右铭和标签。

这是您的查询:

SELECT *
FROM users, user_tags
WHERE . . .
问题与您的
WHERE
子句无关。它是来自
中的逗号。简单规则:切勿在
FROM
子句中使用逗号。始终使用显式
JOIN
语法

正确的语法看起来更像这样(但取决于列名):


必须有一个匹配的单词
Chips
这就是返回结果的原因:p它们之间的关系是什么?它们有一个连接,因为用户id。我想如果单词不匹配,它不会返回任何内容。它应该只与标签匹配,因为没有一个用户以他们的名字命名为ch、chi、chip、chips。请注意,mysql_uuu功能现在不再像过去几年那样被禁止使用,而是正式使用。您应该真正使用或,因为这段代码很快就会停止工作。有关更多信息,请参阅。
SELECT *
FROM users, user_tags
WHERE . . .
SELECT *
FROM users u JOIN
     user_tags ut
     ON u.userId = ut.userId
WHERE . . .