Mengapa Saya Tidak Boleh Menjalankan Berbilang Pertanyaan mysqli Secara serentak?
Seperti yang anda perhatikan, cuba melaksanakan dua pertanyaan MySQL berasingan menggunakan berturut-turut panggilan mysqli_query() akan mengakibatkan pertanyaan kedua gagal. Tingkah laku ini disebabkan oleh langkah keselamatan.
mysqli_multi_query() to the Rescue
Mujurlah, mysqli menyediakan fungsi mysqli_multi_query() yang direka khusus untuk melaksanakan berbilang pertanyaan dalam satu pangkalan data panggil.
Contoh Kod
Berikut ialah contoh cara menggunakan mysqli_multi_query():
$mysqli = new mysqli($host, $user, $password, $database); // Create query string with multiple queries separated by ; $query = "INSERT INTO images (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName');"; $query .= "INSERT INTO images_history (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name, day, month, year) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName', '$day', '$month', '$year');"; // Execute query using mysqli_multi_query() $result = mysqli_multi_query($mysqli, $query); // Retrieve results if ($result) { do { $result = mysqli_store_result($mysqli); } while (mysqli_more_results($mysqli) && mysqli_next_result($mysqli)); } else { echo "First query failed: " . mysqli_error($mysqli); }
Tambahan Pertimbangan:
Dengan menggunakan mysqli_multi_query(), anda boleh melaksanakan berbilang pertanyaan dengan cekap dalam satu panggilan pangkalan data, mengelakkan isu kegagalan pertanyaan kedua.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Berbilang Pertanyaan MySQL Secara serentak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!