第二个 mysqli_query() 没有返回结果

问题描述

一个 MysqLi_query 工作得很好并且得到了结果,但是第二个没有通过 if 条件,就像 $result 返回 false。 我看到了类似的问题,但似乎没有一个是我正在寻找的问题。 我只想指出,sql语句在数据库中没有问题。

    session_start();
    $username = $_SESSION['username'];
    $id = $_SESSION['id'];

//FirsT sql QUERY
            $sql = "call getrounds($id);";
            if($result = MysqLi_query($conn,$sql))
            {
                while($row = MysqLi_fetch_assoc($result))
                {
                    if($row['winner'] == "Player"){
                        $playerstatus="Win";
                        $botstatus="Lose";
                    }else if($row['winner'] == "Epsilon"){
                        $playerstatus="Lose";
                        $botstatus="Win";
                    }else{
                        $playerstatus="Draw";
                        $botstatus="Draw";
                    }
                    echo "<script type=text/javascript>createRow('".$username."','Epsilon',".$row['playerscore'].",".$row['botscore'].",'".$playerstatus."','".$botstatus."');</script>";
                }
                MysqLi_free_result($result);
            }

//SECOND sql QUERY
            $sql = "SELECT botwins,playerwins FROM game WHERE id=$id;";
            if($result =  MysqLi_query($conn,$sql))
            {
                echo "success"; //To test if the $result is not false (its returning false).
                while($row = MysqLi_fetch_row($result)) //I also tried MysqLi_fetch_assoc but it didn't work.
                {
                    if($row[0] >= 10 || $row[1] >= 10){
                        $sql = "call resetgame($id);";
                        MysqLi_query($conn,$sql);
                    }
                }
                MysqLi_free_result($result);
            } 

当我删除一个查询并留下第二个查询时,第二个工作得很好。 为什么我不能把它们放在一起?

我没有收到任何错误,但我也没有从第二个查询中得到任何结果。

解决方法

你能不能尽量不重复使用查询变量?

例如:

$result -> $result_2
$sql -> $sql_2
$row -> $row_2