嚴格標準: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中文網其他相關文章!