首頁 > 後端開發 > php教程 > 如何解決「嚴格標準:mysqli_next_result() 與 mysqli_multi_query 錯誤」?

如何解決「嚴格標準:mysqli_next_result() 與 mysqli_multi_query 錯誤」?

Patricia Arquette
發布: 2024-12-24 05:41:17
原創
662 人瀏覽過

How to Resolve

嚴格標準:解決「mysqli_next_result() error with mysqli_multi_query」

問題:使用 🎜>

問題:使用 🎜時,使用者可能會遇到以下問題:遇到「嚴格標準」相關錯誤到 mysqli_next_result()。此錯誤表示沒有要處理的下一個結果集。

初始回應:

一個回應嘗試透過修改 $querystring 來修正問題,但沒有解決嚴格標準錯誤的根本原因。另一位回覆建議將循環結構從“DO WHILE”更改為“WHILE”,這是不必要的。

實際解決方案:

要解決該錯誤,請修改程式碼如下:

do {
    if ($result = mysqli_store_result($db)) {
        // Process result set
    }
} while (mysqli_more_results($db) && mysqli_next_result($db));
登入後複製

這確保只有當有更多結果集需要處理時才會滿足循環的條件,從而防止錯誤。

其他注意事項:

  • 在提供的範例中,執行 INSERT 查詢,但不會產生結果集。因此,在這種情況下循環將不會執行。考慮使用 mysqli_affected_rows() 來檢索受影響的行數。
  • 對於完整的解決方案,建議包括錯誤處理以在發生錯誤時顯示錯誤。

增強片段:

if (mysqli_multi_query($db, $querystring)) {
    do {
        if ($result = mysqli_store_result($db)) {
            // Process result set
            mysqli_free_result($result);
        } else if (mysqli_error($db)) {
            echo "Error: " . mysqli_error($db);
            break;
        }
    } while (mysqli_more_results($db) && mysqli_next_result($db));
}
登入後複製

結論:

錯誤「嚴格標準:mysql :沒有下一個結果集」透過使用mysqli_more_results 解決()檢查是否有其他結果集。增強的程式碼片段處理 mysqli_multi_query 和 mysqli_store_result 操作的正面和負面結果。

以上是如何解決「嚴格標準:mysqli_next_result() 與 mysqli_multi_query 錯誤」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板