Penyediaan Pertanyaan mysqli dengan Berbilang Pertanyaan
Penyediaan berbilang pertanyaan tidak disokong oleh ciri pernyataan yang disediakan mysqli. Kenyataan yang disediakan dalam mysqli adalah terhad untuk melaksanakan satu pertanyaan MySQL.
Pendekatan Alternatif:
Jika anda perlu melaksanakan berbilang pertanyaan mengikut turutan, anda boleh membuat persediaan berasingan penyata untuk setiap pertanyaan:
$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)"); $stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?)");
Berasaskan Transaksi Pendekatan:
Sebagai alternatif, anda boleh menggunakan transaksi untuk memastikan sama ada kedua-dua pertanyaan dilaksanakan atau kedua-duanya tidak dilaksanakan:
$sql->begin_transaction(); // Execute both queries if (!$stmtUser->execute() || !$stmtProc->execute()) { $sql->rollback(); } else { $sql->commit(); }
Ralat Penyahpepijatan:
Jika anda menghadapi ralat "panggilan kepada fungsi ahli pada bukan objek", ia menunjukkan bahawa penyediaan kenyataan gagal. Semak kenyataan prepare() anda dengan teliti untuk sebarang ralat.
Atas ialah kandungan terperinci Bolehkah Penyata Disediakan MySQLi Mengendalikan Berbilang Pertanyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!