Bagaimana untuk Cekap Menggunakan Tatasusunan dengan Pertanyaan MySQL dalam PHP?

Mary-Kate Olsen
Lepaskan: 2024-11-26 19:08:11
asal
168 orang telah melayarinya

How to Efficiently Use Arrays with MySQL Queries in PHP?

Menggunakan Tatasusunan dalam Pertanyaan MySQL (PHP): Panduan Komprehensif

Pertanyaan MySQL boleh dipertingkatkan dengan menggabungkan tatasusunan untuk menentukan parameter. Ini membolehkan pengendalian berbilang nilai dengan cekap dalam satu pernyataan.

Pendekatan 1: Penyata Disediakan

Penyataan yang disediakan menyediakan cara yang selamat dan cekap untuk menambah nilai dinamik pada pertanyaan . Dengan menggunakan pernyataan yang disediakan, anda boleh mengikat setiap elemen tatasusunan secara berulang sebagai parameter:

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

foreach ($ids as $id) {
    $stmt->bind_param("i", $id);
    $stmt->execute();
    echo "Updated record ID: $id\n";
}
Salin selepas log masuk

Pendekatan 2: Pemegang Tempat Parameter dalam Pertanyaan

Sebagai alternatif, anda boleh membenamkan pemegang tempat parameter dalam pertanyaan itu sendiri dan mengikat semua elemen tatasusunan dalam satu langkah:

$sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id IN (?)";
$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) . "\n";
Salin selepas log masuk

Pendekatan Mana Yang Perlu Dipilih?

Pilihan bergantung pada kes penggunaan tertentu:

  • Pendekatan 1: Sesuai untuk operasi KEMASKINI atau INSERT, di mana anda ingin memproses setiap rekod secara berulang dan berpotensi melakukan prestasi yang berbeza tindakan.
  • Pendekatan 2: Sesuai untuk operasi PILIH atau PADAM, atau apabila anda perlu mengemas kini berbilang rekod dengan data yang sama dalam satu permintaan pangkalan data.

Faedah Penyata Disediakan

  • Menghalang SQL kelemahan suntikan.
  • Meningkatkan prestasi dengan menggunakan semula penyata yang disusun.
  • Mengurangkan pemindahan data dengan menghantar hanya nilai parameter melalui wayar.

Ingat, menggunakan pernyataan yang disediakan ialah langkah keselamatan penting yang melindungi pangkalan data anda daripada serangan berniat jahat.

Atas ialah kandungan terperinci Bagaimana untuk Cekap Menggunakan Tatasusunan dengan Pertanyaan MySQL 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