Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menyelesaikan Ralat 'Arahan Tidak Segerak' dalam MySQLi?
Ralat Perintah Tidak Segerakan dalam MySQLi
Kod anda, yang melibatkan berbilang pertanyaan MySQLi, menghadapi ralat "Perintah tidak segerak". Ralat ini berlaku kerana klien MySQL melarang melaksanakan pertanyaan baharu sementara masih terdapat baris untuk diambil daripada pertanyaan yang sedang dijalankan.
Memahami Isu
Pelanggan MySQL melaksanakan protokol ketat yang memastikan pertanyaan dilaksanakan mengikut urutan. Apabila anda mempunyai pertanyaan bersarang atau prosedur yang mengembalikan berbilang set hasil, protokol menetapkan bahawa anda mengambil semua baris daripada set hasil sebelum melaksanakan pertanyaan seterusnya. Walau bagaimanapun, dalam kes anda, anda cuba melaksanakan pertanyaan baharu sementara masih terdapat baris yang perlu diambil daripada baris sebelumnya.
Penyelesaian
Terdapat dua yang utama pendekatan untuk menyelesaikan isu:
Pertimbangan Penyimpanan Data Ganti
Untuk data hierarki, anda mungkin ingin mempertimbangkan untuk menyimpannya secara berbeza untuk memudahkan pertanyaan. Contohnya, anda boleh menggunakan senarai bersebelahan atau model set bersarang.
Nota Tambahan
Dalam CodeIgnitor 3.0.3, anda boleh menyelesaikan ralat "Arahan tidak segerak" dengan mengubah suai kaedah _execute() dalam system/database/drivers/mysqli/mysqli_driver.php.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Arahan Tidak Segerak' dalam MySQLi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!