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);
?>
<?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();
?>
<?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);
?>
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 extension, mysqli
extension, dan PDO. Untuk lebih
memahaminya, pada artikel-artikel selanjutnya kita akan mempelajari bagaimana
implementasi dari ketiga PHP Extension tersebut.
Wah luar biasa. Mantep tutorialnya
ReplyDeleteriorinaldotartar.blogspot.co.id