Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Saya Mendapat Ralat 'Arahan Tidak Segerak' dalam Kod MySQLi PHP Saya, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Saya Mendapat Ralat 'Arahan Tidak Segerak' dalam Kod MySQLi PHP Saya, dan Bagaimana Saya Boleh Membetulkannya?

Linda Hamilton
Lepaskan: 2024-12-20 11:06:09
asal
336 orang telah melayarinya

Why Do I Get

Arahan Tidak Segerak: Menyelidiki Punca dan Penyelesaian

Apabila cuba melaksanakan kod PHP yang menggunakan pertanyaan MySQL melalui mysqli, seseorang boleh menghadapi ralat, "Arahan tidak segerak; anda tidak boleh menjalankan arahan ini sekarang." Ralat ini menunjukkan percanggahan antara pelaksanaan berurutan pertanyaan pangkalan data.

Kod PHP yang disediakan mempamerkan isu ini disebabkan penggunaan pertanyaan tidak buffer oleh mysqli untuk pernyataan yang disediakan. Ini bermakna hanya hasil pertanyaan yang dilaksanakan terbaharu sahaja tersedia pada bila-bila masa.

Untuk menyelesaikan ralat ini, dua pendekatan boleh diambil:

  1. Gunakan Hasil Kedai: Dengan menggunakan $stmt->store_result() selepas melaksanakan pernyataan yang disediakan, hasil pertanyaan itu adalah penimbal. Ini membolehkan pertanyaan seterusnya dilaksanakan tanpa menjejaskan keputusan pertanyaan pertama.
  2. Ambil Hasil ke dalam Tatasusunan: Sebagai alternatif, hasil pertanyaan pertama boleh diambil ke dalam tatasusunan menggunakan $stmt-> ;fetch_all(). Ini pramuat data ke dalam memori, membebaskan sambungan untuk melaksanakan pertanyaan lain.

Dalam kod yang disediakan, $stmt->store_result() boleh digunakan selepas pertanyaan pertama untuk menimbal keputusannya:

if ($numRecords = $con->prepare($countQuery)) {
    $numRecords->bind_param("s", $brand);
    $numRecords->execute();
    $numRecords->store_result();
    $data = $con->query($countQuery) or die(print_r($con->error));
    $rowcount = $data->num_rows;
    ...
}
Salin selepas log masuk

Dengan melaksanakan salah satu daripada penyelesaian ini, arahan tidak akan disegerakkan lagi dan kod PHP harus laksanakan dengan jayanya.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Arahan Tidak Segerak' dalam Kod MySQLi PHP Saya, dan Bagaimana Saya Boleh Membetulkannya?. 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