Mengenal PHP Extension Untuk Koneksi Database MySQL

Extension di dalam PHP merupakan kumpulan fungsi program tambahan yang membuat PHP dapat mendukung berbagai fitur baru.

PHP terdiri dari aplikasi inti (PHP core), dan fungsi tambahan (extension). Dalam aplikasi inti PHP, PHP tidak menyediakan fungsi yang menangani database MySQL. Penanganan untuk fungsi database ini dipisahkan menjadi fungsi tambahan (extension). Selain database, extension dalam PHP menyediakan berbagai fungsi lainnya untuk keperluan yang lebih khusus, seperti pembuatan gambar, kriptografi, penanganan email, pembuatan PDF, dan lain-lain.

PHP merupakan bahasa pemograman yang selalu di update dan berkembang mengikuti perkembangan teknologi terbaru. Saat ini, Pemrograman Berorientasi Objek (Object Oriented Programming) merupakan trend pemrograman PHP, dan hal ini juga mempengaruhi cara mengakses database MySQL dari PHP. Untuk dapat menggunakan dan mengakses database MySQL, PHP menyediakan 3 cara koneksi, yaitu:


1.  Koneksi MySQL dengan mysql extension
Pasti saat pertama kali belajar pemrograman PHP sebagian besar dari kita menggunakan fungsi-fungsi seperti mysql_connect(), mysql_query(), mysql_fetch_array(), dan lain-lain, untuk berinteraksi dengan database MySQL. Fungsi fungsi tersebut merupakan fungsi yang tergabung ke dalam mysql extension.

Terhitung dari PHP versi 5.5.0, mysql extension berstatus deprecated. Pengaksesan database MySQL menggunakan fungsi mysql extension sudah tidak disarankan lagi. Programmer PHP disarankan pindah ke mysqli extension atau PDO (PHP Data Object) yang memiliki fitur-fitur lebih lengkap dan kompleks.

2.  Koneksi MySQL dengan mysqli extension
Sebagai pengganti mysql extension, PHP menyediakan mysqli extension. Mysqli merupakan kependekan dari MySQL Improved. Mysqli extension ini pada dasarnya adalah perbaikan dari mysql extension dan dikembangkan untuk mendukung fitur-fitur terbaru untuk MySQL 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 pada mysql extension.
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.

3.  Koneksi MySQL dengan PDO (PHP Data Objects)

PDO (PHP Data Objects) adalah interface universal yang disediakan PHP untuk “berkomunikasi” dengan database server. Maksud istilah “interface universal” disini adalah bahwa PDO tidak terikat dengan aplikasi database tertentu. Apabila saat ini kita menggunakan database MySQL dan dikemudian hari ingin bermigrasi menggunakan Oracle, kita hanya tinggal mengganti cara pemanggilan awal PDO dan seluruh kode program yang ada bisa langsung digunakan untuk database baru. Dari ketiga cara koneksi PHP dengan MySQL diatas, metode yang disarankan adalah menggunakan mysqli atau PDO.

Perbandingan antara mysqli, PDO dan mysql extension
Berikut adalah tabel perbandingan antara mysqli, PDO dan mysql extension yang bersumber dari manual resmi PHP



Cara Penulisan mysql extension, mysqli extension, dan PDO (PHP Data Objects)

Berikut contoh kode PHP untuk mengetahui sekilas perbedaan cara pengaksesan database MySQL menggunakan mysql extension, mysqli extension, dan PDO.

<?php // cara mengakses MySQL menggunakan mysql extension mysql_connect("localhost", "root", "root"); mysql_select_db("sekolah"); $result = mysql_query("SELECT * FROM siswa"); $row = mysql_fetch_assoc($result); ?>.code-box


<?php // cara mengakses MySQL menggunakan mysqli extension (object oriented style) $mysqli = new mysqli("localhost", "root", "root", "sekolah"); $result = $mysqli->query("SELECT * FROM siswa"); $row = $result->fetch_assoc(); ?>.code-box

<?php // cara mengakses MySQL menggunakan PDO $pdo = new PDO('mysql:host=localhost;dbname=sekolah', 'root', 'root'); $statement = $pdo->query("SELECT * FROM siswa"); $row = $statement->fetch(PDO::FETCH_ASSOC); ?>.code-box

Dalam contoh diatas, kita anggap bahwa user MySQL adalah root, password root, nama database sekolah dan nama tabel siswa.

Dalam artikel ini kita telah Mengenal PHP Extension untuk Koneksi Database MySQL. Kita juga sudah mengetahui sekilas perbedaan cara pengaksesan database MySQL menggunakan mysql extensionmysqli extension, dan PDO. Untuk lebih memahaminya, pada artikel-artikel selanjutnya kita akan mempelajari bagaimana implementasi dari ketiga PHP Extension tersebut.

Post a Comment

Previous Post Next Post