我正在做一个小php网站,你可以在其中跟随其他人,然后看到他们的帖子。我有三个表-1.posts,它有post\u id和author\u id 2.follow,它有following和follower 3.users,它有id,username和所有其他东西。我在sql中尝试以下操作-
SELECT * FROM posts,follow,users WHERE posts.author_id=users.id AND users.id=follow.following AND follow.follower='$id' UNION SELECT * FROM posts,users WHERE posts.author_id=users.id AND users.id='$id'
其中$id是登录用户的id。
它显示以下错误-
# 1222 - The used SELECT statements have a different number of columns
我找了几个小时,但找不到与我的问题相匹配的答案。我将非常感谢一个更好的以上代码版本的答案。
提前谢谢。
2条答案
按热度按时间6jjcrrmo1#
将两个查询合并在一起时,两个查询上的列必须匹配。
从中选择
posts,follow,users
在第一个查询和posts,users
在第二天。这行不通。
从mysql手册:
第一个select语句中的列名用作返回结果的列名。在每个select语句的相应位置列出的选定列应具有相同的数据类型
bjg7j2ky2#
也许加入会对你更好。。。像这样: