Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Dukungan PDO untuk beberapa kueri (PDO_MYSQL, PDO_MYSQLND)

Seperti yang saya tahu, PDO_MYSQLND menggantikan PDO_MYSQL di PHP 5.3. Bagian yang membingungkan adalah nama itu masih PDO_MYSQL . Jadi sekarang ND adalah driver default untuk MySQL+PDO.

Secara keseluruhan, untuk menjalankan beberapa kueri sekaligus, Anda memerlukan:

  • PHP 5.3+
  • mysqlnd
  • Emulasi pernyataan yang disiapkan. Pastikan PDO::ATTR_EMULATE_PREPARES disetel ke 1 (bawaan). Atau Anda dapat menghindari penggunaan pernyataan yang disiapkan dan menggunakan $pdo->exec secara langsung.

Menggunakan exec

$db = new PDO("mysql:host=localhost;dbname=test", 'root', '');

// works regardless of statements emulation
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 0);

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

$db->exec($sql);

Menggunakan pernyataan

$db = new PDO("mysql:host=localhost;dbname=test", 'root', '');

// works not with the following set to 0. You can comment this line as 1 is default
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1);

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

$stmt = $db->prepare($sql);
$stmt->execute();

Catatan:

Saat menggunakan pernyataan siap yang ditiru, pastikan Anda telah menyetel penyandian yang tepat (yang mencerminkan penyandian data aktual) di DSN (tersedia sejak 5.3.6). Jika tidak, ada kemungkinan kecil untuk injeksi SQL jika beberapa penyandian aneh digunakan .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Format angka menjadi 2 tempat desimal

  2. Tingkatkan MySQL ke MariaDB 10 (Bagian 1 – Instal MariaDB 5.5)

  3. Situs web multi bahasa praktik terbaik

  4. Tipe data terbaik untuk menyimpan nilai mata uang dalam database MySQL

  5. phpMyBackupPro – Alat Pencadangan MySQL Berbasis Web untuk Linux