Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Melaksanakan Berbilang Pertanyaan MySQLi Secara serentak dalam PHP?

Bagaimanakah Saya Boleh Melaksanakan Berbilang Pertanyaan MySQLi Secara serentak dalam PHP?

Linda Hamilton
Lepaskan: 2024-12-08 02:41:14
asal
404 orang telah melayarinya

How Can I Execute Multiple MySQLi Queries Simultaneously in PHP?

Berbilang Pertanyaan mysqli: Memahami mysqli_multi_query()

Dengan MySQLi, melaksanakan berbilang pertanyaan dalam satu permintaan bukanlah mudah. Percubaan untuk melaksanakan panggilan mysqli_query() yang berasingan akan menyebabkan hanya pertanyaan pertama dilaksanakan. Untuk mengatasi had ini, mysqli_multi_query() menyediakan penyelesaian untuk melaksanakan berbilang pernyataan SQL dalam satu masa.

Contoh Pelaksanaan:

Pertimbangkan senario berikut:

mysqli_query($dblink, "INSERT INTO images ...");
mysqli_query($dblink, "INSERT INTO images_history ...");
Salin selepas log masuk

Untuk melaksanakan kedua-dua pertanyaan secara serentak, gunakan mysqli_multi_query():

$mysqli = new mysqli(...);
$query = "INSERT INTO images ...";
$query .= "INSERT INTO images_history ...";

$result = mysqli_multi_query($mysqli, $query);

if ($result) {
    while (mysqli_more_results($mysqli) && mysqli_next_result($mysqli)) {
        if (($result = mysqli_store_result($mysqli)) === false && mysqli_error($mysqli) != '') {
            echo "Query failed: " . mysqli_error($mysqli);
        }
    }
} else {
    echo "First query failed..." . mysqli_error($mysqli);
}
Salin selepas log masuk

Pertimbangan Utama:

  • mysqli_multi_query() memerlukan rentetan yang mengandungi semua pertanyaan yang dipisahkan oleh titik bertitik (;).
  • mysqli_store_result() mesti digunakan mendapatkan semula keputusan setiap pertanyaan. Memandangkan pertanyaan INSERT tidak mengembalikan set hasil, semak mysqli_error() untuk rentetan kosong untuk mengesahkan pemasukan berjaya.
  • Pendekatan ini selamat kerana ia menghalang suntikan SQL hadir dalam melaksanakan berbilang panggilan mysqli_query().

Tambahan Sumber:

  • [mysqli_multi_query](https://www.php.net/manual/en/mysqli.multi-query.php)
  • [mysqli_more_results]( https://www.php.net/manual/en/mysqli.more-results .php)
  • [mysqli_next_result](https://www.php.net/manual/en/mysqli.next-result.php)
  • [mysqli_store_result](https://www .php.net/manual/en/mysqli.store-result.php)

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Berbilang Pertanyaan MySQLi Secara serentak dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan