Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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 多个表和查询_Php_Mysql - Fatal编程技术网

Php 多个表和查询

Php 多个表和查询,php,mysql,Php,Mysql,我如何将这样的东西连接在一起: $query = ("SELECT * FROM profiles,follow WHERE follow.friend ='$user' AND follow.user !='$user' AND profiles.user1 =follow.user ORDER BY id DESC limit 20"); 或 我需要查询来显示两个不同的东西,我该怎

我如何将这样的东西连接在一起:

$query = ("SELECT * FROM profiles,follow
           WHERE follow.friend ='$user' 
               AND follow.user !='$user' 
               AND profiles.user1 =follow.user 
           ORDER BY id DESC limit 20");

我需要查询来显示两个不同的东西,我该怎么做

试试这个

$query = "SELECT * FROM profiles,follow WHERE follow.friend ='$user' and follow.user !='$user' and profiles.user1 =follow.user and profiles.user1='$user' order by id DESC limit 20";
这个

SELECT
    *
FROM
    follows
INNER JOIN
    profiles
    ON (profiles.user1 = follow.user)
WHERE
    follow.friend = '{$user}'
    AND follow.user != '{$user}'
    AND profiles.user1 = '{$user}'
ORDER BY
    profiles.id DESC
LIMIT 20
使用联合体:

SELECT * 
FROM profiles, follow
WHERE follow.friend ='$user' 
  AND follow.user !='$user' 
  AND profiles.user1 =follow.user 
  ORDER BY id DESC limit 20
UNION
SELECT * 
FROM profiles 
WHERE user1='$user'

不确定我是否理解您的问题,但您是否试图在一个查询中从第一个查询中提取20行+从第二个查询中提取所有行?您的问题似乎没有意义。为什么一开始要从配置文件中提取20行,然后再选择一个用户?我重新表述了这个问题,你能再回答一次吗?对不起。我解决了这个问题。我将需要的数据保存在一个数组中,然后使用它。似乎解决了这个问题。谢谢。np,但我不明白解决方案是什么?:)
SELECT * 
FROM profiles, follow
WHERE follow.friend ='$user' 
  AND follow.user !='$user' 
  AND profiles.user1 =follow.user 
  ORDER BY id DESC limit 20
UNION
SELECT * 
FROM profiles 
WHERE user1='$user'