Rumah >pembangunan bahagian belakang >tutorial php >Bolehkah Penyata Disediakan MySQL Tunggal Melaksanakan Berbilang Pertanyaan?

Bolehkah Penyata Disediakan MySQL Tunggal Melaksanakan Berbilang Pertanyaan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-25 18:24:10990semak imbas

Can a Single MySQL Prepared Statement Execute Multiple Queries?

Adakah Mungkin untuk Menyediakan Berbilang Pertanyaan MySQL dalam Satu Pernyataan?

Pertanyaan:

Dalam MySQL, bolehkah pernyataan yang disediakan melaksanakan berbilang pertanyaan secara serentak? Contohnya:

mysqli->prepare(query1 ...1,2,3 param...; query2...4,5 param...);

Atau sebagai alternatif:

mysqli->prepare(insert into ...1,2,3 param...; insert into...4,5 param...);

Diikuti oleh:

mysqli->bind_param("sssss", 1, 2, 3, 4, 5);

Jawapan:

Tidak, pernyataan yang disediakan dalam MySQL boleh melaksanakan hanya satu pertanyaan. Penyataan berbilang yang disediakan boleh dibuat dalam pembolehubah berasingan:

$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)");
$stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");

Penyataan ini kemudiannya boleh dilaksanakan kemudian.

Untuk memastikan kedua-dua pertanyaan berjaya dilaksanakan, pertimbangkan untuk menggunakan transaksi pangkalan data, seperti yang dicadangkan oleh Thomas.

Petua:

Jika anda menghadapi ralat "panggilan ke fungsi ahli pada bukan objek" semasa cuba mengikat parameter, ia mungkin menunjukkan ralat dalam pernyataan prepare() itu sendiri.

Atas ialah kandungan terperinci Bolehkah Penyata Disediakan MySQL Tunggal Melaksanakan Berbilang Pertanyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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