Apa perbedaan antara MySQL, MySQLi dan PDO ?
Mana yang paling cocok untuk digunakan dengan PHP-MySQL?
Ada (lebih dari) tiga cara populer untuk menggunakan MySQL dari PHP. Ini menguraikan beberapa fitur / perbedaan PHP: Memilih API :
Saya akan merekomendasikan menggunakan PDO dengan pernyataan yang disiapkan. Ini adalah API yang dirancang dengan baik dan akan memungkinkan Anda lebih mudah pindah ke database lain (termasuk yang mendukung ODBC ) jika perlu.
Itu adalah API yang berbeda untuk mengakses backend MySQL
Jadi itu tergantung pada jenis kode apa yang ingin Anda hasilkan. Jika Anda lebih suka lapisan berorientasi objek atau fungsi polos ...
Saran saya adalah
Juga perasaan saya, API mysql mungkin akan dihapus di rilis mendatang
PHP
.sumber
mysqli adalah versi yang disempurnakan dari mysql.
Ekstensi PDO mendefinisikan antarmuka yang ringan dan konsisten untuk mengakses database dalam PHP. Setiap driver basis data yang mengimplementasikan antarmuka PDO dapat mengekspos fitur spesifik basis data sebagai fungsi ekstensi reguler.
sumber
Secara khusus, ekstensi MySQLi memberikan manfaat yang sangat berguna berikut dibandingkan ekstensi MySQL lama ..
Antarmuka OOP (selain prosedural) Pernyataan Transaksi Disiapkan Dukungan + Prosedur Tersimpan Dukungan Peningkatan Kecepatan Sintaks Lebih Baik Peningkatan Debugging
Perpanjangan PDO
Ekstensi Objek Data PHP adalah Lapisan Abstraksi Basis Data. Secara khusus, ini bukan antarmuka MySQL, karena menyediakan driver untuk banyak mesin basis data (tentu saja termasuk MYSQL).
PDO bertujuan untuk menyediakan API yang konsisten yang berarti ketika mesin basis data diubah, perubahan kode untuk mencerminkan ini harus minimal. Saat menggunakan PDO, kode Anda biasanya "hanya berfungsi" di banyak mesin basis data, hanya dengan mengubah driver yang Anda gunakan.
Selain kompatibel lintas-basis data, PDO juga mendukung pernyataan yang disiapkan, prosedur tersimpan, dan lainnya, saat menggunakan Driver MySQL.
sumber