首頁 >後端開發 >php教程 >為什麼我在 mysqli_multi_query 中收到「mysqli_next_result(): There is no next result set\」錯誤?

為什麼我在 mysqli_multi_query 中收到「mysqli_next_result(): There is no next result set\」錯誤?

Linda Hamilton
Linda Hamilton原創
2024-12-29 03:35:16929瀏覽

Why Am I Getting a

嚴格標準:mysqli_next_result() 與 mysqli_multi_query 錯誤

許多開發人員在使用 mysqli_multi_query 時遇到嚴格標準錯誤。此錯誤訊息顯示「mysqli_next_result(): 沒有下一個結果集。請呼叫 mysqli_more_results()/mysqli::more_results()檢查是否呼叫此函數/方法。預設情況下,mysqli_next_result 繼續處理下一個結果集,即使不存在。為了避免該錯誤,應事先呼叫函數 mysqli_more_results 以確定是否存在任何其他結果集。

解決方案

要解決該問題,請使用以下程式碼:

這確保僅在存在時才執行mysqli_next_result是後續結果集。

附加說明

if (mysqli_multi_query($db, $querystring)) {
    do {
        if ($result = mysqli_store_result($db)) {
            // ...
        }
    } while (mysqli_more_results($db) && mysqli_next_result($db));
}

沒有必要像某些人建議的那樣從 DO WHILE 切換到 WHILE。

如果查詢沒有產生結果集,則不會執行循環。

此外,可以修改程式碼以計算受影響的行數或顯示任何錯誤訊息。

以上是為什麼我在 mysqli_multi_query 中收到「mysqli_next_result(): There is no next result set」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn