Strict Standard: mysqli_next_result() ralat dengan mysqli_multi_query
Banyak pembangun menghadapi ralat Standard yang ketat apabila menggunakan mysqli_multi_query. Mesej ralat ini berbunyi "mysqli_next_result(): Tiada set hasil seterusnya. Sila hubungi mysqli_more_results()/mysqli::more_results() untuk menyemak sama ada hendak memanggil fungsi/kaedah ini."
Root Punca
Ralat timbul apabila mysqli_multi_query digunakan tanpa menyemak sama ada terdapat set hasil berikutnya. Secara lalai, mysqli_next_result meneruskan ke set hasil seterusnya, walaupun tiada satu pun wujud. Untuk mengelakkan ralat, fungsi mysqli_more_results hendaklah digunakan terlebih dahulu untuk memastikan kehadiran sebarang set hasil tambahan.
Penyelesaian
Untuk menyelesaikan masalah, gunakan kod berikut :
if (mysqli_multi_query($db, $querystring)) { do { if ($result = mysqli_store_result($db)) { // ... } } while (mysqli_more_results($db) && mysqli_next_result($db)); }
Ini memastikan mysqli_next_result hanya dilaksanakan jika terdapat set keputusan berikutnya.
Nota Tambahan
Atas ialah kandungan terperinci Mengapa Saya Mendapat \'mysqli_next_result(): Tiada set hasil seterusnya\' Ralat dengan mysqli_multi_query?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!