Bolehkah Berbilang Pertanyaan Disediakan dalam Satu Penyata mysqli?
Dalam MySQL, pernyataan yang disediakan hanya melaksanakan satu pertanyaan sahaja. Walaupun tidak mungkin untuk menyediakan berbilang pertanyaan dalam satu pernyataan, anda boleh membuat pernyataan yang disediakan berasingan untuk setiap pertanyaan.
Pertimbangkan contoh berikut:
$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)"); $stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");
Di sini, dua pernyataan yang disediakan ($ stmtUser dan $stmtProc) telah dibuat. Anda kemudiannya boleh melaksanakan pernyataan ini seperti yang diperlukan:
$stmtUser->execute(); $stmtProc->execute();
Jika anda perlu memastikan kedua-dua pertanyaan dilaksanakan bersama, anda boleh menggunakan transaksi untuk mengumpulkannya. Transaksi menjamin sama ada kedua-dua pertanyaan dilaksanakan atau tiada.
Petua: Ralat "panggilan kepada fungsi ahli pada bukan objek" selalunya menunjukkan bahawa prepare() gagal. Sahkan pertanyaan dalam prepare() untuk menyelesaikan sebarang isu.
Atas ialah kandungan terperinci Bolehkah Penyata Disediakan MySQL Mengendalikan Berbilang Pertanyaan Sekaligus?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!