Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Selamat ke dalam MySQL Menggunakan Penyata Disediakan PDO?

Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Selamat ke dalam MySQL Menggunakan Penyata Disediakan PDO?

Linda Hamilton
Linda Hamiltonasal
2024-12-29 03:25:22930semak imbas

How Can I Securely Insert Multiple Rows into MySQL Using PDO Prepared Statements?

Sisipan Berbilang Baris MySQL dengan Penyata Disediakan PDO

Pernyataan yang disediakan menawarkan keselamatan yang dipertingkatkan berbanding pertanyaan statik. Dalam MySQL, memasukkan berbilang baris nilai dengan satu pertanyaan juga boleh mendapat manfaat daripada kelebihan keselamatan ini.

Melaksanakan Sisipan Berbilang Baris dengan Pernyataan Disediakan

Untuk memasukkan berbilang baris menggunakan kenyataan yang disediakan dalam PDO:

  1. Cipta Nilai Urutan: Tentukan bilangan lajur dalam jadual dan buat rentetan ruang letak ('?,') untuk setiap lajur.
  2. Bina Pertanyaan: Bina pernyataan SQL INSERT dengan klausa VALUES mengulangi urutan pemegang tempat untuk setiap baris.
  3. Sediakan Pernyataan: Sediakan pernyataan SQL menggunakan $db->prepare.
  4. Gabung Nilai Baris: Gabungkan nilai untuk semua baris ke dalam tatasusunan gabungan tunggal.
  5. Laksanakan Pernyataan: Laksanakan pernyataan yang disediakan menggunakan $stmt->laksanakan dengan tatasusunan yang digabungkan sebagai parameter.

Contoh Kod:

// Placeholder sequence for a single row
$values = str_repeat('?,', count($row) - 1) . '?';
// Construct the query
$sql = "INSERT INTO table (columnA, columnB) VALUES " .
    str_repeat("($values),", count($rows) - 1) . "($values)";
// Prepare the statement
$stmt = $db->prepare($sql);
// Merge row values
$values = array_merge(...$rows);
// Execute the statement
$stmt->execute($values);

Pendekatan ini memastikan keselamatan dengan membina pertanyaan secara dinamik tetapi dengan ruang letak tetap dan nama lajur. Ia serasi dengan MySQLi dan PDO dalam pelbagai versi PHP.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Selamat ke dalam MySQL Menggunakan Penyata Disediakan PDO?. 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