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
Lepaskan: 2024-11-27 21:58:18
asal
301 orang telah melayarinya

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();
Salin selepas log masuk

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);
Salin selepas log masuk

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