Pada tutorial-tutorial yang sebelumnya kita selalu menggunakan extension mysql dari PHP untuk mengakses MySQL. Fungsi-fungsi yang kita pelajari tersebut (seperti fungsi mysql_connect, mysql_query, dan mysql_fetch_array) memang sudah tidak disarankan lagi, tetapi saya tetap membahasnya sebagai dasar bagi kita untuk masuk ke extension yang lebih baru yaitu mysqli dan PDO.
Terhitung dari PHP versi 5.5, extension mysql tidak lagi disarankan penggunaannya dan berstatus deprecated, yang berarti mungkin akan dihapus pada PHP versi berikutnya. Kita disarankan untuk mulai beralih menggunakan mysqli atau PDO. Mari kita bahas tentang mysqli terlebih dahulu. Mysqli merupakan kependekan dari MySQL Improved Extension. Seperti yang terlihat dari namanya, extension ini merupakan versi perbaikan dan penambahan dari extension mysql sebelumnya yang umum digunakan. Extension mysqli dibuat untuk mendukung fitur-fitur terbaru dari MySQL Server versi 4.1 ke atas.
Secara garis besar, tidak ada perbedaan mencolok antara mysql extension dengan mysqli extension. Nama-nama fungsi didalam mysqli sebagian besar mirip dengan apa yang telah kita pelajari (extension mysql). Sebagai contoh, untuk membuat koneksi dengan MySQL Server, di dalam mysql kita menggunakan fungsi mysql_connect(), sedangkan di dalam mysqli, kita menggunakan mysqli_connect(). Begitu juga dengan fungsi lain seperti mysql_query() menjadi mysqli_query(). Selain menambah huruf “i” di dalam nama fungsi, argumen-argumen yang dibutuhkan juga hampir mirip. Perbedaannya, jika di dalam extension mysql umumnya kita bisa meletakkan argumen resources di akhir fungsi, maka di dalam mysqli, argumen ini diteletakkan di awal.
Sebagai contoh, di dalam mysql kita menulis:
mysql_query(
"SELECT * FROM siswa"
);
Sedangkan di dalam mysqli penulisannya menjadi:
mysqli_query(
$link
,
"SELECT * FROM siswa"
);
Namun perbedaan paling mendasar di dalam mysqli adalah mysqli mendukung cara penulisan object oriented programming.
Mengenal 2 jenis Mysqli Style: Procedural dan Object Oriented
Agar proses “migrasi” dari mysql ke mysqli tidak terlalu menyusahkan, PHP memberikan 2 alternatif cara penulisan mysqli.
- Cara yang pertama adalah menggunakan procedural style. Cara ini mirip dengan extension mysql, dimana kita menggunakan fungsi-fungsi untuk mengakses database MySQL.
- Cara kedua adalah dengan object oriented style. Dengan cara ini, kita menggunakan aturan penulisan pemrograman objek untuk berkomunikasi dengan MySQL.
Kedua jenis style pemrograman mysqli ini menggunakan nama fungsi dan method yang kurang lebih sama. Sebagai contoh, di dalam procedural style mysqli, terdapat fungsi mysqli_query(),sedangkan dalam OOP style mysqli, kita menggunakan method $mysqli->query().