Jika dalam tutorial sebelumnya kita mempelajari mysqli dengan menggunakan fungsi-fungsi atau dikenal dengan procedural style mysqli, dalam tutorial PHP MySQL kali ini kita akan membahas tentang object style mysqli.
Cara Penulisan Object Style mysqli
Sebagai cara koneksi yang lebih baru daripada mysql extension, mysqli memiliki 2 jenis style, yakni procedural style dan object-oriented style. Kecendrungan pemrograman saat ini lebih banyak menggunakan objek. Untuk hal inilah PHP juga menyediakan mysqli dengan “rasa” objek.
Pemrograman berbasis objek lebih banyak disukai karena cenderung rapi dan mudah dikembangkan, terutama jika kita mengerjakan proyek besar yang butuh ribuan baris program. Konsep OOP seperti inheritance, encapsulation dan polymorfism membuat program menjadi lebih tertata.
Saya sangat menyarankan anda untuk mulai beralih menggunakan OOP. Karena dengan OOP-lah tingkat pemahaman dan pengalaman kita “naik level”. Jika anda bermaksud “serius” mempelajari tentang PHP, duniailkom telah membuat tutorial lengkap mengenai konsep OOP, di dalam Tutorial Pemrograman Berbasis Objek PHP.
Langsung saja kita lihat bagaimana cara penggunaan objek di dalam mysqli.
Cara Membuat Koneksi dengan MySQL (mysqli constructor)
Untuk membuat koneksi MySQL dengan PHP menggunakan mysqli object style, caranya adalah dengan menggunakan mysqli constructor. Constructor mysqli adalah sejenis fungsi yang digunakan untuk membuat object baru dari class mysqli.
Argumen di dalam construktor mysqli ini sama persis dengan argumen fungsi mysqli_connect(), yakni lokasi komputer, nama user, dan password user.
Berikut adalah cara membuat koneksi mysqli di localhost untuk user “root” dengan password “qwerty”:
$link = new mysqli("localhost", "root", "qwerty");
?>
Pada kode diatas, saya membuat objek $link dari class mysqli. Di dalam OOP, keyword new digunakan untuk membuat objek baru. Dengan objek $link hasil mysqli constructor inilah proses query MySQL nantinya kita jalankan.
Sama seperti fungsi mysqli_connect(), constructor mysqli juga memiliki argumen tambahan, yakni nama database yang ingin digunakan. Jika kita ingin langsung mengakses database “universitas”, maka kode programnya menjadi:
$link = new mysqli("localhost", "root", "qwerty", "universitas");
?>
Cara Menutup Koneksi MySQL Dengan Method mysqli::close()
Walaupun PHP akan lansung menutup koneksi ke MySQL jika halaman telah selesai di proses, namun kita juga bisa menutupnya secara manual menggunakan method close() dari objek mysqli, atau biasa ditulis sebagai mysqli::close(). Berikut contoh penggunaannya:
// buat koneksi dengan MySQL
$link = new mysqli("localhost", "root", "qwerty","universitas");
//.... Proses PHP
//.... Proses PHP
//.... Proses PHP
// tutup koneksi
$link->close();
?>
Cara Menjalankan Query MySQL Dengan Method mysqli::query()
Jika di dalam penulisan procedural kita menggunakan fungsi mysqli_query() untuk menjalankan query MySQL, maka di dalam objek style, kita mengaksesnya menggunakan method mysqli::query().
Agar lebih mudah dipahami, langsung saja kita masuk kedalam contoh kode program:
// buat koneksi dengan MySQL, gunakan database: universitas
$link = new mysqli("localhost", "root", "qwerty", "universitas);
// jalankan query
$result = $link->query("SELECT * FROM mahasiswa_ilkom");
?>
Perhatikan bahwa di dalam proses pemanggilan method query(), kita membutuhkan 1 argumen, yakni query MySQL yang akan dijalankan.
Cara Menampilkan Data MySQL Dengan mysqli object style
Untuk menampilkan hasil query MySQL, mysqli object memiliki banyak method. Kali ini kita akan membahas 3 cara yang paling sering digunakan, yakni method fetch_row(), fetch_array() dan fetch_object(). Cara penggunaan ketiga method ini hampir sama dengan padanan fungsinya di procedural style, yakni dengan fungsi mysqli_fetch_row(), mysqli_fetch_array(), dan mysqli_fetch_object().
Agar lebih jelas, langsung saja kita masuk ke dalam contoh kode program untuk menampilkan seluruh isi data dari tabel mahasiswa_ilkom.
Pembahasan pertama, yakni cara menampilkan data mysqli dengan method fetch_row(). Berikut adalah contoh kode programnya:
// buat koneksi dengan MySQL, gunakan database: universitas
$link = new mysqli("localhost", "root", "qwerty", "universitas");
// jalankan query
$result = $link->query("SELECT * FROM mahasiswa_ilkom");
// tampilkan query
while ($row= $result->fetch_row())
{
echo "$row[0] $row[1] $row[2] $row[3] $row[4]";
echo "
";
}
?>
Dalam contoh diatas, saya mengunakan method fetch_row() dari objek $result yang merupakan objek hasil pemanggilan method query(). Method fetch_row() ini tidak memerlukan argumen apapun, sehingga kita memanggilnya dengan cara $result->fetch_row().
Cara kedua untuk menampilkan data mysqli adalah dengan method fetch_array(). Berikut contoh kode programnya:
// buat koneksi dengan MySQL, gunakan database: universitas
$link = new mysqli("localhost", "root", "qwerty", "universitas");
// jalankan query
$result = $link->query("SELECT * FROM mahasiswa_ilkom");
// tampilkan query
while ($row=$result->fetch_array(MYSQLI_ASSOC))
{
echo $row['nim']." ".$row['nama']." ".$row['umur']." ";
echo $row['tempat_lahir']." ".$row['IPK'];
echo "
";
}
?>
Sama seperti method fetch_row(), method fetch_array() juga diakses dari objek $result yang merupakan hasil pemanggilan query.
Method fetch_array() membutuhkan 1 argumen, berupa string yang berisi bagaimana cara array hasil method akan diakases. String ini bisa dipilih dari salah satu nilai: MYSQLI_NUM, MYSQLI_ASSOC atau MYSQLI_BOTH. Lebih lengkap tentang perbedaan ketiga nya telah kita bahas dalam tutorial mengenai fungsi mysql_fetch_array().
Cara ketiga yang akan kita bahas untuk menampilkan data mysqli, adalah dengan method fetch_object(). Berikut contoh pengunaanya:
// buat koneksi dengan MySQL, gunakan database: universitas
$link = new mysqli("localhost", "root", "qwerty", "universitas");
// jalankan query
$result = $link->query("SELECT * FROM mahasiswa_ilkom");
// tampilkan query
while ($row=$result->fetch_object())
{
echo $row->nim." ".$row->nama." ".$row->umur." ";
echo $row->tempat_lahir." ".$row->IPK;
echo "
";
}
?>
Cara penggunaan method fetch_object() hampir sama dengan method-method sebelumnya, yakni di akses dari objek $result hasil menjalankan query MySQL.
Dalam tutorial PHP MySQL kali ini kita telah membahas cara penggunaan mysqli extension yang berbasis object. Tutorial mysqli ini dan juga tutorial sebelumnya tentang mysqli procedural saya buat sesingkat mungkin tanpa menggunakan prosedur untuk penanganan kesalahan. Misalnya, bagaimana mengecek apakah koneksi dengan MySQL sudah terhubung atau belum.
Dalam tutorial berikutnya, akan kita bahas secara mendalam mengenai beberapa fungsi dan method mysqli yang digunakan untuk penanganan kesalahan.
Sumber wk.com
EmoticonEmoticon