Assalamu’alaikum wr. wb.

Seperti yang kita ketahui bersama bahwa mysql extension yg lama di PHP sudah deprecated alias sudah tidak disupport lagi pengembang PHP, dan kita disarankan untuk migrasi menggunakan mysqli extension atau PDO extension. Maka dari itu sebelum kita membuat web dengan PHP mysqli extension, alangkah lebih baik jika kita mengetahui perbedaannya.

Kita akan membahas perbedaan mysql extension yang “lama” dengan versi barunya, yakni mysqli. Extension mysqli juga hadir dengan 2 jenis “rasa” yaitu procedural style dan object oriented style.

Perbedaan Antara mysql Extension dengan mysqli Extension

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 keatas.
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($conn, "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 (OOP)

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 stylemysqli, terdapat fungsi mysqli_query(),sedangkan dalam OOP style mysqli, kita menggunakan method $mysqli->query(). Kita akan membahas lebih dalam tentang cara penggunaan 2 style ini.

Untuk implementasinya silahkan ikuti tutorial :
1. Membuat CRUD dengan PHP Mysqli Prosedural Style
2. Membuat CRUD dengan PHP Mysqli OOP Style
3. Membuat Login dengan PHP Ekstensi mysqli OOP
4. Membuat Login Multi Level dengan PHP mysqli pada 3 Tabel Berbeda
5. Membuat Web dengan PHP Mysqli OOP + Bootstrap Serta Database MariaDB

Semoga bermanfaat. Wassalamu’alaikum wr. wb.

Referensi :
https://goo.gl/j5aEuh

6 COMMENTS

  1. mau tanya mas, kenapa saya coba pake mysqli selalu muncul error seperti ini :
    Warning: mysqli_query(): Couldn’t fetch mysqli in C:\xampp\htdocs\latihan\index.php on line 5
    Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in C:\xampp\htdocs\latihan\index.php on line 8
    mohon pencerahannya, makasih

Leave a Reply to fendra agusman Batal membalas

Please enter your comment!
Please enter your name here