Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Membetulkan \'Strict Standards: mysqli_next_result() Error\' dengan mysqli_multi_query()?
Standard Ketat: mysqli_next_result() Ralat dengan mysqli_multi_query
Isu:
Urusan saya>Penyelesaian:
Untuk menyelesaikan isu ini, gunakan kod berikut:do{} while(mysqli_more_results($db) && mysqli_next_result($db));
Penjelasan:
Ralat Standard Ketat berlaku kerana mysqli_more_results() mesti dipanggil untuk menyemak sama ada mysqli_next_result() harus digunakan. Coretan kod yang disediakan memastikan mysqli_next_result() hanya dipanggil jika terdapat set hasil lain.Pertimbangan:
Penambahan:
Untuk pendekatan yang lebih mantap, pertimbangkan coretan kod berikut: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";Coretan kod ini:
Nota Tambahan:
Untuk pengguna yang tidak dikenali mysqli_multi_query(), berikut ialah coretan kod serba boleh yang mengendalikan pertanyaan dengan atau tanpa set hasil: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 }Coretan kod ini:
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan \'Strict Standards: mysqli_next_result() Error\' dengan mysqli_multi_query()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!