Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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/mercurial/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 如果没有数据,mysql连接将不返回任何内容_Php_Mysql - Fatal编程技术网

Php 如果没有数据,mysql连接将不返回任何内容

Php 如果没有数据,mysql连接将不返回任何内容,php,mysql,Php,Mysql,它可以工作,但是如果我的用户\u img没有uid,我想显示0。 仅当img_用户有uid时,此查询才会返回,如果没有uid,则不会返回任何内容 这仅适用于用户\ img。例如,对于uid 3,该查询必须返回0。因为用户\u img没有uid=3。但是它不会返回uid 3的任何数据。好的,我已经更新了SQL,请重试: 您需要左连接: public function getUserList() { $sql = "SELECT users.id, users.name, abo

它可以工作,但是如果我的用户\u img没有uid,我想显示0。 仅当img_用户有uid时,此查询才会返回,如果没有uid,则不会返回任何内容


这仅适用于用户\ img。例如,对于uid 3,该查询必须返回0。因为用户\u img没有uid=3。但是它不会返回uid 3的任何数据。

好的,我已经更新了SQL,请重试:

您需要左连接:

public function getUserList() {
        $sql = "SELECT users.id, users.name, about.profile_img, user_game_info.at_game, SUM(user_img.likes) AS likes FROM users 
                JOIN about ON users.id = about.uid
                JOIN user_game_info ON about.uid = user_game_info.uid
                INNER JOIN user_img ON user_game_info.uid = user_img.uid";
        $query = $this->db->query($sql, PDO::FETCH_ASSOC);
        if ($query->rowCount()) {
            $userList = $query->fetchAll();
            return $userList;
        }
        return false;       
    }

改用
外部联接
,它只返回第一行。如果我删除user_img,它将返回所有数据,我不确定您的表结构和表之间的关系。尝试所有左连接,看看会发生什么。顺便说一句,试试看:管理mysqlit可能会更容易。sum似乎有问题。我试着用i.likes作为likes,它返回了;组由u.id和它的工作,谢谢你的帮助
$sql = '
SELECT u.id, u.name, a.profile_img, ugi.at_game, SUM(ifnull(i.likes,0)) AS likes 
FROM users u
LEFT JOIN about a ON u.id = a.uid
LEFT JOIN user_game_info ugi ON u.id = ugi.uid
LEFT JOIN user_img i ON u.id = i.uid
GROUP BY 1';