Rumah >pembangunan bahagian belakang >tutorial php >Adakah PDO_MYSQL/PDO_MYSQLND Menyokong Berbilang Pertanyaan dalam Satu Pernyataan?

Adakah PDO_MYSQL/PDO_MYSQLND Menyokong Berbilang Pertanyaan dalam Satu Pernyataan?

Linda Hamilton
Linda Hamiltonasal
2024-12-26 09:33:10665semak imbas

Does PDO_MYSQL/PDO_MYSQLND Support Multiple Queries in a Single Statement?

Sokongan PDO untuk Berbilang Pertanyaan (PDO_MYSQL, PDO_MYSQLND)

Soalan Asal:

Walaupun menyedari kekurangan PDO sokongan untuk melaksanakan berbilang pertanyaan dalam satu kenyataan, kebimbangan telah dibangkitkan mengenai ketersediaan sokongan untuk fungsi sedemikian dalam PDO_MYSQL dan PDO_MYSQLND.

Jawapan:

Memahami PDO_MYSQL dan PDO_MYSQLND:

Melaksanakan Berbilang Pertanyaan Menggunakan PDO:

Untuk melaksanakan berbilang pertanyaan serentak, anda memerlukan berikut:

PHP 5.3 atau lebih tinggi
  • MySQLND
  • Pernyataan yang disediakan yang ditiru (PDO::ATTR_EMULATE_PREPARES ditetapkan kepada 1, iaitu lalai untuk MySQL)
Menggunakan exec:

$sql = "
DELETE FROM car;
INSERT INTO car(name, type) VALUES ('car1', 'coupe');
INSERT INTO car(name, type) VALUES ('car2', 'coupe');
";

$db->exec($sql);
Nota:

Kaedah ini terhad kepada SQL yang mengandungi nilai tetap.

Menggunakan Pernyataan:

$sql = "
DELETE FROM car;
INSERT INTO car(name, type) VALUES (:car1, :type1);
INSERT INTO car(name, type) VALUES (:car2, :type2);
";

$stmt = $db->prepare($sql);
$stmt->execute(
    ["car1" => "brand1", "type1" => "coupe", "car2" => "brand2", "type2" => "coupe"]
);
Gelung Pada Pertanyaan Keputusan:

Sentiasa ingat untuk menggelungkan hasil pertanyaan selepas melaksanakan pernyataan untuk menyemak ralat atau mengumpul keputusan.

Nota tentang Penyata Disediakan Ditiru:

Pastikan pengekodan yang betul ditetapkan dalam DSN untuk mengelakkan kemungkinan suntikan SQL risiko.
  • Tiru penyataan yang disediakan mungkin mengenakan sedikit penalti prestasi.

Atas ialah kandungan terperinci Adakah PDO_MYSQL/PDO_MYSQLND Menyokong Berbilang Pertanyaan dalam Satu Pernyataan?. 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