Mirip bukan berarti Sama : Perbedaan Antara MySQL dan MySQLi

Artikel Terkait Tutorial Database
Dalam komunikasi antara PHP dan database setidaknya terdapat empat jenis tipe komunikasi yang dapat digunakan seperti  connector, extension, api dan driver.
  • Connector, MySQL menyediakan connector dengan berbagai macam bahasa pemrograman sehingga memungkinkan aplikasi terkoneksi dengan database server.
  • Extension, Memanfaatkan fitur yang ada di dalam MySQL server. Di PHP terdapat MySQL Extension dan MySQLi Extension.
  • API, Application Programming Interface adalah meminta aplikasi lain untuk melakukan tugas. Pada kasus PHP, API digunakan dalamm mengkomunikasikan PHP dengan database menggunakan PHP ekstension.
  • Driver, Driver atau Library Merupakan piranti lunak yang dapat berkomunikasi dengan database server yang spesifik. Driver pada PHP seperti PDO (PHP Data Object).

Mysql dan Mysqli PHP


Perbedaan MySQL dan MySQLi

Dari keempat tipe komunikasi di atas baik MySQL ataupun MySQLi merupakan bagian dari extension yang telah disediakan oleh PHP agar bisa terhubung atau terkoneksi dengan MySQL.

PHP MySQL extension adalah ekstensi yang dibuat untuk menyediakan procedural yang dikembangkan untuk MySQL server dengan versi 4.1.3 ke bawah. Sejak PHP versi 5.5 ekstensi MySQL sudah tidak direkomendasikan penggunaanya  penggunaannya dan berstatus deprecated, yang artinya mungkin saja akan dihapus pada PHP versi berikutnya. Kita direkomendasikan untuk mulai beralih menggunakan ekstensi MySQLi atau driver PDO.

Sedangkan PHP MySQLi  extension merupakan versi perbaikan atau pengembangan dari ektensi MySQL yang setelah dikembangkan berganti menjadi MySQL imporoved extension (MySQLi). MySQLi dibuat dengan tujuan untuk mendukung fitur-fitur terbaru dari MySQL Server versi 4.1 ke atas. MySQLi juga dapat digunakan untuk pemrograman prosedural dan berorientasi objek.

Secara umum, tidak ada perbedaan yang begitu mencolok antara MySQL dengan MySQLi. Nama fungsi di dalam MySQLi sebagian besar mirip dengan nama fungsi pada MySQL hanya saja terdapat tambahan huruf i disetiap kata mysql. Contoh fungsi koneksi pada MySQL adalah mysql_connect() sedangkan pada MySQLi adalah mysqli_connect(). Argumen yang dbutuhkan juga hampir mirip, perbedaanya pada letak argumen jika di MySQL argumen  diletakan di akhir fungsi sedangkan pada MySQLi diletakan di awal fungsi.

Misalkan pengaksesan salah satu tabel
Apabila memakai ekstensi MySQL, kode program ditulis seperti berikut

mysql_query(“SELECT * FROM post_blog”, $param)

Sedangkan apabila memakai MySQLi, kode program ditulis seperti ini

Mysqli_query($link, “SELECT * FROM post_blog”)

MySQLi dari pemaparan di atas memiliki dua paradigma pemrograman yakni prosedural dan berorientasi objek.

Apabila memakai konsep berorientasi objek, penggunaannya harus sesuai dengan aturan pemrograman berorientasi objek agar dapat mengkoneksikan sistem dengan MySQL server.
Misalnya ketika ingin menghubungkan sistem dengan MySQL server. Fungsi yang ditulis adalah “mysql_connect()” ketika menggunakan MySQL extension, sedangkan apabila mempergunakan MySQLi dengan penulisan berorientasi objek menjadi “$mysqli->query”.


Dukungan Fitur
MySQLi
MySQL
Versi PHP
5.0
3.0
Termasuk PHP 5
Ya
Ya
MySQL Development Status
Active Development
Hanya Maintenance
Direkomendasikan MySQL Untuk Project baru
Yes
No
API Mendukung Charset
Yes
No
API Mendukung Server-side Prepared Statements
Yes
No
API Mendukung Client-side Prepared Statements
No
No
API Mendukung Stored Procedures
Yes
No
API Mendukung Multiple Statements
Yes
No
Mendukung Seluruh 
Yes
No
 

Rekomendasi Web Hosting
  1. 20rb perbulan. Diskon hingga 40% kode kupon: MCP Daftar disini (apache).
  2. 10rb perbulan. Diskon hingga 75% kode kupon: MCP Daftar disini (litespeed).
  3. 10rb perbulan. Diskon hingga 70% kode kupon: aff-MCP Daftar disini (apache).