Seperti yang pernah kita bahas dalam tutorial Jenis Koneksi PHP MySQL: PDO, mysqli, dan mysql extension, penggunaan mysql extension tidak lagi direkomendasikan (deprecated). Dalam tutorial PHP MySQL kali ini, kita akan membahas perbedaan mysql extension yang "lama" dengan versi barunya, yakni mysqli. Extension mysqli juga hadir dengan 2 jenis "rasa": procedural dan object oriented.
Perbedaan Antara mysql extension Dengan mysqli extension
Sepanjang tutorial PHP MySQL Part 4 sampai 11 di duniailkom ini, kita 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: 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 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 mahasiswa_ilkom", $link)
Sedangkan di dalam mysqli penulisannya menjadi:
mysqli_query($link, "SELECT * FROM mahasiswa_ilkom")
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(). Kita akan membahas lebih dalam tentang cara penggunaan 2 style ini nantinya.
Di dalam tutorial PHP MySQL kali ini kita telah membahas sekilas mengenai perbedaan extension mysql dengan extension mysqli yang lebih baru. Sesuai dengan instruksi dari manual MySQL, sebaiknya kita tidak menggunakan lagi extension mysql.
Dalam tutorial selanjutnya, kita akan mulai membahas cara penggunaan mysqli extension. Berikutnya dalam tutorial PHP MySQL duniailkom: Cara Menampilkan Data dengan mysqli PHP menggunakan procedural style.
Thanks sebelumnya tutorialnya lengkap Min :D
tp ada yang kurang min :p , klo bisa buat tutorial membuat website nya dengan PHP MySQLi yah Min.. hehe
Sarannya ditampung y gan…:)
mudah2an kesampaian nanti membuat tutorial seperti itu, soalnya bakalan panjang tuh..hehe
Thx bingo infonya gan sangat menarik dan sangat membantu ????
bos sekarang semua server hosting kebanyakan udah gak support mysql_connect dan mysql_select_db
Yup, betul gan. Malah di PHP 7 sudah dihapus sama sekali. Pembahasan di tutorial ini tetap saya tulis karena masih banyak kode program yang menggunakan mysql extension. Beberapa buku juga masih "bertahan" menggunakan mysql_connect()
Iya nih saya aja baru ngerti dikit soal mysql, mlah skarang udah muncul lagi versi barunya. ohya untuk melengkapi, sebaiknya kita pelajari juga cara mengtasi Injeksi SQL. karena ini juga berkaitan dan bahaya kalo keteledoran biar database gak dijebol orang. bagusnya pakai PDO, tapi pakai mysqli_real_escape_string juga bagus.
Selengkapnya gan: http://www.kangsigit.com/2016/02/memahami-sql-injection-dan-cara.html
Terimakasih tips nya gan.. :)
wah postinganya bagus gan…..
tapi saya mau tanya ? saya menggunakan script mysql bisa jadi tapi kalo menggunakan mysqli gx bisa kenapa. tolong saranya……
gan bikin ebook dong tentang php yanga agan dah post biar bsa baca offline di rumah ane
eBook PHP sudah ada kok gan, malah jauh lebih lengkap dari postingan yang ada di duniailkom ini.
Untuk daftar isi dan penjelasannya, bisa cek kesini: https://www.duniailkom.com/php-uncover-panduan-belajar-php-lengkap-untuk-pemula/
Mudah dipahami, makasih om
moga jadi pahala+berkah gan ilmunya, aamiin
Amiin… terimakasih doanya..
ijin mengarsip tutorial disini mbah mimin
apakah kita tetap bisa memakai mysqli di php5 min
Yup bisa, mysqli sudah ada mulai dari PHP 5.0
setelah mysqli untuk php 5 sampai php 7 kira" update terbaru 7 keatas menggunakan apa lagi yah :D
Saat ini belum ada perubahan lagi, untuk koneksi ke MySQL bisa menggunakan mysqli atau PDO
postingan nya bagus gan…
tapi apakah ada pengaruh versi xampp nya juga ya gan untuk penggunaan mysql dan mysqli …?