PHP mysql使用关键字搜索多个表

我的数据库中有三个表:

messages

topics

comments

这些表中的每个表都有两个字段,分别称为“内容”和“标题”。我希望能够在我的sql语句中使用“赞”来查看“ messages.content”,“

messages.title”,“ topics.content”,“ topics.title”,“ comments.content”和“

comments”。标题”使用关键字。

到目前为止,我的查询仅能从一张表中找到结果:

mysql_query("SELECT * FROM messages 

WHERE content LIKE '%" . $keyword . "%'

OR title LIKE '%" . $keyword ."%'");

我还想知道,一旦从多个表中获得结果,如何分辨什么表中的结果?

任何帮助将不胜感激!

回答:

$query = "(SELECT content, title, 'msg' as type FROM messages WHERE content LIKE '%" . 

$keyword . "%' OR title LIKE '%" . $keyword ."%')

UNION

(SELECT content, title, 'topic' as type FROM topics WHERE content LIKE '%" .

$keyword . "%' OR title LIKE '%" . $keyword ."%')

UNION

(SELECT content, title, 'comment' as type FROM comments WHERE content LIKE '%" .

$keyword . "%' OR title LIKE '%" . $keyword ."%')";

mysql_query($query);

因此,您将从这三个表中得到所有结果,并且可以通过查看其type值来确定哪个行来自哪个表。

以上是 PHP mysql使用关键字搜索多个表 的全部内容, 来源链接: utcz.com/qa/412254.html

回到顶部