Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menyelesaikan \'Strict Standards: Menyelesaikan mysqli_next_result() Ralat\' dengan mysqli_multi_query?

Bagaimana untuk Menyelesaikan \'Strict Standards: Menyelesaikan mysqli_next_result() Ralat\' dengan mysqli_multi_query?

DDD
Lepaskan: 2024-11-28 06:29:15
asal
435 orang telah melayarinya

How to Resolve the

Standard Ketat: Menyelesaikan ralat mysqli_next_result() dengan mysqli_multi_query

Memastikan penggunaan mysqli_multi_query yang betul adalah penting untuk mengelakkan penggunaan "Stric_multi_query" dengan betul Walaupun menghapuskan koma bertitik mungkin telah menghapuskan isu, ia tidak menyelesaikan masalah teras.

Untuk menangani mesej ralat, pertimbangkan cadangan berikut:

Memahami mysqli_next_result()

mysqli_next_result() memajukan penuding hasil ke seterusnya set hasil yang dihasilkan oleh mysqli_multi_query(). Walau bagaimanapun, pelaksanaannya memerlukan set hasil awal, yang tidak dijamin dalam semua kes.

Penyelesaian

Sertakan semakan berikut dalam gelung 'buat':

buat { if ($result = mysqli_store_result($db)) { // set hasil proses } } sambil (mysqli_more_results($db) && mysqli_next_result($db));

Sintaks Alternatif: WHILE{} Gelung

Sementara klasik "IF(){DO{} WHILE}" sintaks adalah sah, alternatif yang mudah dan lebih mudah dibaca ialah:

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))))

Pendekatan ini dengan jelas mentakrifkan syarat untuk melaksanakan gelung dan menyemak set hasil.

Snippet Komprehensif

Untuk penyelesaian yang komprehensif, pertimbangkan coretan berikut untuk mengendalikan pertanyaan dengan atau tanpa hasil set:

Klasik "JIKA(){DO{} WHILE}" Sintaks:

if (mysqli_multi_query($mysqli, implode(';', $queries))) {
    do {
        echo "<br><br>", key($queries), ": ", current($queries);  // display key:value @ pointer
        if ($result = mysqli_store_result($mysqli)) {   // if a result set
            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
    } while (next($queries) && mysqli_more_results($mysqli) && mysqli_next_result($mysqli));
}
if ($mysqli_error = mysqli_error($mysqli)) {
    echo "<br><br>", key($queries), ": ", current($queries), "Syntax Error:<br>$mysqli_error";  // display array pointer key:value
}
Salin selepas log masuk

Roda Dicipta Semula "WHILE{}" Sintaks:

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
}
if ($mysqli_error = mysqli_error($mysqli)) {
    echo "<br><br>", key($queries), ": ", current($queries), "Syntax Error:<br>$mysqli_error";  // display array pointer key:value
}
Salin selepas log masuk

Coretan ini mengendalikan pertanyaan dengan atau tanpa hasil dengan berkesan menetapkan dan menyediakan pengendalian ralat terperinci untuk tujuan nyahpepijat.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \'Strict Standards: Menyelesaikan mysqli_next_result() Ralat\' dengan mysqli_multi_query?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan