厳格な標準: mysqli_next_result() mysqli_multi_query のエラー
問題:
の使用mysqli_multi_query() は、mysqli_next_result() に関連する「厳密な標準」エラーをトリガーします。
解決策:
この問題を解決するには、次のコマンドを使用します。コード:
do{} while(mysqli_more_results($db) && mysqli_next_result($db));
説明:
mysqli_next_result() を使用する必要があるかどうかを確認するために mysqli_more_results() を呼び出す必要があるため、厳密な標準エラーが発生します。提供されたコード スニペットは、別の結果セットがある場合にのみ mysqli_next_result() が呼び出されるようにします。
考慮事項:
機能強化:
より堅牢なアプローチについては、次のコード スニペットを検討してください。
if(mysqli_multi_query($db,$querystring)){ do{ $cumulative_rows+=mysqli_affected_rows($db); } while(mysqli_more_results($db) && mysqli_next_result($db)); } if($error_mess=mysqli_error($db)){echo "Error: $error_mess";} echo "Cumulative Affected Rows: $cumulative_rows";
このコード スニペット:
追加メモ:
mysqli_multi_query() に慣れていないユーザーのために、汎用性の高いコード スニペットを次に示します。結果セットの有無にかかわらずクエリを処理します:
while((isset($multi_query) && (next($queries) && mysqli_more_results($mysqli) && mysqli_next_result($mysqli))) || (!isset($multi_query) && $multi_query=mysqli_multi_query($mysqli,implode(';',$queries)))){ echo "<br><br>",key($queries),": ",current($queries); // display array pointer key:value if($result=mysqli_store_result($mysqli)){ while($rows=mysqli_fetch_assoc($result)){ echo "<br>Col = {$rows["Col"]}"; } mysqli_free_result($result); } echo "<br>Rows = ",mysqli_affected_rows($mysqli); // acts like num_rows on SELECTs }
このコード スニペット:
以上がmysqli_multi_query() で「厳格な標準: mysqli_next_result() エラー」を修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。