Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Mengemas kini Berbilang Rekod MySQL Dengan Cekap Menggunakan PHP dengan Array ID?

Bagaimana Mengemas kini Berbilang Rekod MySQL Dengan Cekap Menggunakan PHP dengan Array ID?

Barbara Streisand
Barbara Streisandasal
2024-11-27 21:58:18220semak imbas

How to Efficiently Update Multiple MySQL Records Using PHP with Array of IDs?

Lelaran Melalui Tatasusunan ID untuk Pertanyaan MySQL

Apabila bekerja dengan pertanyaan MySQL dalam PHP, anda mungkin perlu memasukkan berbilang nilai daripada tatasusunan ke dalam pertanyaan. Panduan ini menunjukkan cara untuk mencapai ini dengan cekap menggunakan kedua-dua pernyataan yang disediakan dan pertanyaan SQL dinamik.

Penyata Disediakan (Disyorkan)

Penyata yang disediakan menawarkan keselamatan dan kecekapan yang dipertingkatkan. Begini cara untuk menggunakannya:

$ids = array(2, 4, 6, 8);

$sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id = ?";
$stmt = $mysqli->prepare($sql);

for ($i = 0; $i < count($ids); $i++) {
    $stmt->bind_param("i", $ids[$i]);
    $stmt->execute();
    echo "Updated record ID: $ids[$i]";
}

$stmt->close();

Pertanyaan SQL Dinamik

Sebagai alternatif, anda boleh membina pertanyaan SQL dinamik secara dinamik:

$ids = array(2, 4, 6, 8);

$params = implode(",", array_fill(0, count($ids), "?"));
$sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id IN ($params)";
$stmt = $mysqli->prepare($sql);

$types = str_repeat("i", count($ids));
$args = array_merge(array($types), $ids);
call_user_func_array(array($stmt, 'bind_param'), ref($args));

$stmt->execute();

echo "Updated record IDs: " . implode(",", $ids);

Perbandingan dan Penggunaan Garis Panduan

  • Penyata Disediakan: Pelaksanaan berulang bagi berbilang operasi pangkalan data. Lebih sesuai untuk pertanyaan INSERT dan UPDATE.
  • SQL Dinamik: Melaksanakan pertanyaan tunggal yang lebih cekap untuk semua rekod. Sesuai untuk operasi PILIH, PADAM dan KEMASKINI yang melibatkan data yang sama.

Faedah Penyata Disediakan

  • Keselamatan: Menghalang suntikan SQL serangan.
  • Kecekapan: Menggunakan semula penyataan yang disusun untuk berbilang pelaksanaan.
  • Kekompakan: Menghantar hanya nilai parameter semasa pelaksanaan.

Atas ialah kandungan terperinci Bagaimana Mengemas kini Berbilang Rekod MySQL Dengan Cekap Menggunakan PHP dengan Array ID?. 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