Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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,我首先搜索所有问题信息。来自问题表,包括标题、内容、用户等。 守则: $sql = "select * FROM question where id>0 ORDER BY id ASC"; $result1 = mysql_query($sql); $res=Array(); 然后我想从用户表中搜索用户的点。所以我必须从result1中搜索每行中每个用户的点 守则: while($rows=mysql_fetch_assoc($result1)) {

我首先搜索所有问题信息。来自问题表,包括标题、内容、用户等。 守则:

$sql  = "select * FROM question where id>0 ORDER BY id ASC";  
    $result1 = mysql_query($sql);
    $res=Array();
然后我想从用户表中搜索用户的点。所以我必须从result1中搜索每行中每个用户的点 守则:

while($rows=mysql_fetch_assoc($result1))
    {
        $res[]=$rows;
        $user = $rows['user'];
        $sql2 = "select point from user where name='$user'";
        $result2 = mysql_query($sql2);  
    }

我的问题是如何将所有用户的pointresult2与questions info.result1组合在一起,这样我就可以为每一行返回一个json。

最好在这里使用连接,我将为您提供查询。我希望它可以帮助您

select * from question q,user u where q.id>0 ORDER BY id ASC
尝试以下方法:使用左连接


使用左键连接,作为我对这项工作的理解

$sql  = "SELECT q.*, u.point AS point FROM question AS q LEFT JOIN user AS u ON q.user = u.name WHERE q.id > 0 ORDER BY q.id ASC";  
$result = mysql_query($sql);

MySQL已被弃用,请考虑使用MySQL LAPI。可能有助于获得示例输入和输出,但我认为关键是现在您在while循环的每次迭代中都覆盖$result2。我相信你想要$Fult2是一个数组,然后你把每个新的结果都推到数组中。提示:考虑使用连接语句。选择问题。*,用户。从用户左边的问题加入用户点。用户=问题。感谢所有回答这个问题的人。我是mysql和php的新手。我学习了JOIN语句并解决了我的问题。非常感谢。
$sql  = "SELECT q.*, u.point AS point FROM question AS q LEFT JOIN user AS u ON q.user = u.name WHERE q.id > 0 ORDER BY q.id ASC";  
$result = mysql_query($sql);