Menyediakan Berbilang Pertanyaan dalam Penyata MySQLi Tunggal
Tidak mungkin untuk menyediakan berbilang pertanyaan dalam satu pernyataan MySQLi. Setiap panggilan mysqli_prepare() hanya boleh menyediakan satu pertanyaan.
Pendekatan Alternatif untuk Melaksanakan Berbilang Pertanyaan
Jika anda perlu melaksanakan berbilang pertanyaan sekali gus, anda boleh membuat dan laksanakan pernyataan mysqli_prepare() yang berasingan untuk setiap pertanyaan.
<code class="php">$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)"); $stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);"); $stmtUser->bind_param("ssss", $id, $username, $pw, $email); $stmtProc->bind_param("ss", $id, $idp); $stmtUser->execute(); $stmtProc->execute(); $stmtUser->close(); $stmtProc->close();</code>
Mengendalikan Ralat
Ralat "Panggil ke fungsi ahli pada bukan objek" biasanya ditemui apabila prepare() gagal. Ini biasanya disebabkan oleh ralat dalam pernyataan yang disediakan itu sendiri, bukan dalam kod berikutnya.
Sokongan Transaksi
Jika anda ingin memastikan berbilang pertanyaan dilaksanakan bersama-sama atau tidak sama sekali, MySQLi menyokong transaksi. Anda boleh menggunakan fungsi mysqli_begin_transaction() dan mysqli_commit() untuk mengawal sempadan transaksi.
Atas ialah kandungan terperinci Bolehkah saya Menyediakan Berbilang Pertanyaan dalam Penyata MySQLi Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!