另一个...查询失败:命令不同步;你现在不能运行这个命令

时间:2017-09-06 09:19:01

标签: php mysql

我是新来的海报,请原谅我熟悉网站的协议和使用。我不是软件工程师,但多年来写得很多。

我遇到问题"查询失败:命令不同步;你现在不能运行这个命令"并花了很多时间试图找到我的方式的错误。我相信我已经完成了所有关于mysqli_next_result和mysqli_free_result的建议

在php中我做了几个查询,第二个查询失败了。如果我第二次运行第一个查询就可以了。两个查询都通过php中的库函数调用mysql中的存储过程。我调用item_category后跟item_list。在其他地方,我两次调用item_category,它工作正常。

phplib excert:

    function item_category($category = 0){
        mysqli_multi_query(DBi:: $gissit_dbh, "CALL SP_Item_category" ."(". $category .")") or die("Query fail: " . mysqli_error(DBi::$gissit_dbh));
        $result = mysqli_store_result(DBi:: $gissit_dbh);
        return $result;
        while($gissit_dbn->more_results()){
            mysqli_next_result($result);
        }
        mysqli_free_result($gissit_dbh);
        }

    //Get all wanted items in this category and its subcategories
    function item_list($category = 0){
        mysqli_multi_query(DBi:: $gissit_dbh, "CALL SP_Item_list" ."(". $category .")") or die("Query fail: " . mysqli_error(DBi::$gissit_dbh));    
        $result = mysqli_store_result(DBi:: $gissit_dbh);
        return $result;
        while($gissit_dbn->more_results()){
            mysqli_next_result($result);
        }
        mysqli_free_result($result);
    }

mysql存储过程:

item_category:

select Id, Name, Parent_Id, Count from Item_Category where Parent_Id = cat_id order by Name

item_list:

SELECT * FROM `Item_Wanted` WHERE Category_Id IN
    (SELECT Id FROM `Item_Category_Lookup` where Id = int_Parent_Id OR Id_1 = int_Parent_Id OR Id_2 = int_Parent_Id OR Id_3 = int_Parent_Id OR Id_4 = int_Parent_Id)

对phplib函数的实际调用如下所示:

If ($cat < 1){
        $result = item_category($cat);
            while ($row = mysqli_fetch_array($result)){
                echo "<div class='col-md-4'><a href= item_wanted.php?cat=" .$row['Id'] .">".$row['Name']." (".$row['Count'].")"."</a></p>"."\r\n </div>";
        }
}

If ($cat > 0){
        $result = item_list($cat);
            while ($row = mysqli_fetch_array($result)){
            echo "<div class='col-md-4'><a href= item_wanted.php?cat=" .$row['Id'] .">".$row['Title']."</a></p>"."\r\n </div>";
        }
}

0 个答案:

没有答案