Bagaimana untuk Membetulkan Ralat \'Arahan PHP Tidak Segerak\' dengan MySQLi?

Patricia Arquette
Lepaskan: 2024-11-26 03:52:08
asal
673 orang telah melayarinya

How to Fix the

Apakah itu "Ralat Perintah PHP Keluar Penyegerakan"?

Ralat "Perintah tidak segerak" dalam PHP/MySQLi berlaku apabila berbilang penyataan yang disediakan dilaksanakan secara berurutan tanpa mengosongkan keputusan dengan betul daripada penyataan pertama. Ralat ini boleh mengganggu aliran kod anda dan menghalang anda daripada mendapatkan semula data dengan betul.

Memahami Punca Ralat

Apabila pernyataan yang disediakan dilaksanakan menggunakan mysqli: :execute(), pelayan MySQL mengembalikan set hasil. Jika anda melaksanakan pernyataan lain tanpa mengosongkan set hasil ini, pelayan menjadi tidak segerak dan menimbulkan ralat "Arahan tidak segerak". Ini kerana MySQL memerlukan anda mengendalikan hasil sebelumnya sebelum melaksanakan pernyataan baharu.

Menyelesaikan Ralat "Arahan Tidak Segerak"

Untuk menyelesaikan ralat, anda perlu mengosongkan set keputusan daripada pernyataan pertama sebelum melaksanakan pernyataan kedua. Berikut ialah beberapa cara untuk mencapainya:

  • Gunakan mysqli::free_result(): Kaedah ini melepaskan memori yang dikaitkan dengan set hasil, membenarkan pelayan mengosongkannya.
  • Gunakan mysqli_stmt::close(): Kaedah ini menutup pernyataan yang disediakan dan mengosongkan set hasil secara automatik.
  • Gunakan mysqli::more_results() dan mysqli::next_result(): Jika anda perlu melaksanakan berbilang kenyataan dalam satu gelung, anda boleh menggunakan more_results() untuk menyemak sama ada terdapat set hasil tambahan dan next_result() untuk dikosongkan mereka.

Petua Tambahan

  • Sentiasa percuma atau tutup set hasil selepas melaksanakan kenyataan.
  • Gunakan mysqli::query () untuk melaksanakan kenyataan yang tidak disediakan, kerana ia secara automatik mengosongkan keputusan yang ditetapkan untuk anda.
  • Elakkan menggunakan LIMIT 1 dalam penyata yang anda sediakan, kerana ia boleh menyebabkan isu penyegerakan.
  • Jika ralat berterusan, semak konfigurasi pelayan MySQL untuk isu dengan pertanyaan serentak atau caching set hasil.

Dengan mengikuti langkah ini, anda boleh menyelesaikan ralat "Arahan tidak segerak" dan memastikan bahawa Kod PHP/MySQLi dilaksanakan dengan lancar.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'Arahan PHP Tidak Segerak\' dengan MySQLi?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan