Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 合并MySQL查询的结果_Php_Mysql - Fatal编程技术网

Php 合并MySQL查询的结果

Php 合并MySQL查询的结果,php,mysql,Php,Mysql,我会尽我所能把场景布置好*点燃蜡烛 我想说的是 搜索图像\u希望查看用户是否喜欢任何图像,然后将其包含在下一个查询中。 从用户上传的图像中获取所有图像。 显示两个结果以及按id描述的顺序。 当涉及到包含不同的表结果时,我很讨厌MySQL,所以我希望我已经包含了足够的信息。如果你还需要,请告诉我 表结构 你喜欢的形象 id |用户id |图像id 图像 id |上传者id |日期1: SELECT * FROM Image_Likes WHERE User_Id = x ORDER BY Id D

我会尽我所能把场景布置好*点燃蜡烛

我想说的是

搜索图像\u希望查看用户是否喜欢任何图像,然后将其包含在下一个查询中。 从用户上传的图像中获取所有图像。 显示两个结果以及按id描述的顺序。 当涉及到包含不同的表结果时,我很讨厌MySQL,所以我希望我已经包含了足够的信息。如果你还需要,请告诉我

表结构

你喜欢的形象

id |用户id |图像id

图像

id |上传者id |日期

1:

SELECT * FROM Image_Likes WHERE User_Id = x ORDER BY Id DESC 
2:

3:全部

SELECT L.*, I.* FROM Image_Likes L LEFT JOIN Images I ON L.Image_id = I.Id WHERE L.User_ID = x  ORDER BY I.Id DESC 

将x替换为用户ID

您应该真正了解连接。您将不断地编写糟糕的代码,并设计糟糕的数据库来解决不知道如何使用它们的问题

SELECT *
FROM images
LEFT JOIN image_likes ON image_likes.image_id = images.id
WHERE image_likes.user_id = $my_id
OR images.creator_id = $my_id
ORDER BY images.id DESC

除非您有一个非常奇怪的表结构,否则这应该可以通过单个联接查询实现:真正有用的是您已经尝试过的代码,以及结果是什么was@orourkek我没有试过,而是研究过。他们有这么多不同类型的连接,我不知道从哪里开始。@MarcB哪种类型?内部连接?使用表结构编辑。只是澄清一下,这是否选择并搜索所有来自图像的图像结果?还有,1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解在第1行使用“左连接图像I ON L.Image_id=I.id ORDER BY I.id DESC LIMIT 0,30”的正确语法:是!它从Image_like的ID上的任何匹配的第一位获取所有结果,并尝试将它们与l.Image_ID=I.idSorry上的Images表中的相应值连接起来,固定顺序为WHERE。现在就试试看,它似乎只是从图像中返回图像结果,而不是用户上传的结果。我会做更多的测试。代码没有按预期工作。如果是当前用户上传的,它包含了其他人喜欢的内容。我会和你一起玩it@Trendee如果我没有弄错的话,我相信您可以在ON子句中添加AND,以添加image\u likes.user\u id=$my\u id
SELECT *
FROM images
LEFT JOIN image_likes ON image_likes.image_id = images.id
WHERE image_likes.user_id = $my_id
OR images.creator_id = $my_id
ORDER BY images.id DESC