首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

PHP mysqli multi_query 獲取結果集錯誤:fetch_row 調用對象應為 mysqli_result 而非 mysqli

     編輯:程式設計綜合問答

錯誤代碼


$mysqli->multi_query($sql2);
do {
    $result = $mysqli->store_result();
    while ($row = $mysqli->fetch_row()) { // 錯誤:$mysqli 無 fetch_row 方法
        ...
    }
} while ($mysqli->next_result());

修正


$mysqli->multi_query($sql2);
do {
    if ($result = $mysqli->store_result()) { // store_result 返回 mysqli_result 或 false
        while ($row = $result->fetch_row()) { // 在 result 對象上調用
            foreach ($row as $v) echo "----$v";
            echo "\n";
        }
        $result->free();
    }
} while ($mysqli->next_result());

關鍵點

  • mysqli::store_result() 返回 mysqli_result 對象(或 false)。
  • fetch_row()、fetch_assoc() 等屬於 mysqli_result,而非 mysqli。
  • next_result() 推進到下一結果集,需配合 more_results() 判斷。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved