Bolehkah mysqli Menyediakan Berbilang Pertanyaan dalam Satu Penyata?
Dalam mysqli, pernyataan yang disediakan direka bentuk untuk melaksanakan satu pertanyaan MySQL. Walaupun tidak mungkin untuk menyediakan berbilang pertanyaan dalam satu pernyataan, anda boleh mencipta berbilang pernyataan yang disediakan dalam pembolehubah berbeza.
Untuk berbuat demikian, gunakan pendekatan berikut:
$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)"); $stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");
Anda boleh kemudian laksanakan pernyataan ini secara bebas. Contohnya:
$stmtUser->bind_param("ssss", $id, $username, $pw, $email); $stmtUser->execute(); $stmtProc->bind_param("ss", $id, $idp); $stmtProc->execute();
Jika anda memerlukan pelaksanaan ketat kedua-dua pertanyaan serentak, anda harus mempertimbangkan untuk menggunakan transaksi. Transaksi memastikan sama ada kedua-dua pertanyaan berjaya atau kedua-duanya gagal.
Akhir sekali, ingat bahawa ralat "panggilan kepada fungsi ahli pada bukan objek" biasanya menunjukkan kegagalan dalam pernyataan prepare(), yang memerlukan anda memeriksanya untuk kesilapan.
Atas ialah kandungan terperinci Bolehkah Penyata Disediakan MySQLi Mengendalikan Berbilang Pertanyaan Secara serentak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!