Anda di halaman 1dari 50

Cara Menjalankan PHP dan MySQL menggunakan

XAMPP
PHP dijalankan dari web server Apache, dan jika anda mengikuti Tutorial PHP Dasar Untuk
Pemula di duniailkom, maka di komputer anda telah terinstall aplikasi XAMPP.

Untuk tutorial cara menginstall XAMPP, duniailkom telah membuat 2 tutorial lengkap,
yakni cara menginstall XAMPP 1.8.3, atau versi yang lebih baru: cara menginstall
XAMPP 5.6.3

Selain modul Apache, XAMPP juga memiliki paket bawaanMySQL Server. Untuk menjalankan
keduanya, anda tinggal men­klik tombol Start pada jendela XAMPP Control Panelseperti gambar
dibawah ini:

om
.c
om
ilk
ia
un

Jika tidak ada masalah, modul MySQL akan berwana hijau yang menandakan MySQL Server sudah
berjalan.
.d
w
w

Cara Menjalankan MySQL dan PHP secara Terpisah
w

Jika anda telah mengikuti Tutorial MySQL Dasar di duniailkom, pada tutorial tersebut saya
menginstall MySQLsecara terpisah (bukan dari aplikasi XAMPP), kita juga bisa menggunakan
aplikasi MySQL ini untuk diakses dari web server Apache yang berasal dari aplikasi XAMPP.

Namun, seperti yang telah kita bahas pada tutorial cara menjalankan MySQL Server, bahwa di dalam
sebuah komputer hanya bisa berjalan 1 buah MySQL Server. Sehingga jika anda menemukan
pesan error seperti gambar dibawah ini, berarti ada aplikasi MySQL Server yang sedang aktif.

1
om
Untuk memeriksa apakah MySQL Server sedang aktif atau tidak, bisa dilakukan melalui task
manager. Silahkan bukatask manager,dan cari proses dengan nama: mysqld.exe. Jika ditemukan,

.c
berarti MySQL Server telah berjalan di latar belakang.
om
lk
i ai
un
.d
w
w
w

Anda boleh menggunakan MySQL versi stand alone ini, atau mematikannya dan menggunakan
MySQL versi bawaanXAMPP.

2
Cara Menguji Koneksi PHP MySQL Dengan
Phpmyadmin
Untuk menguji apakah aplikasi PHP dapat mengakses database MySQL, kita bisa menggunakan
aplikasiPhpmyadmin bawaan XAMPP.

Aplikasi Phpmyadmin adalah sebuah aplikasi manajemen database MySQL yang berbasis
web. XAMPPmenambahkan aplikasi ini untuk mempermudah pengaksesan database yang biasanya
diakses menggunakan console, atau cmd Windows. Namun saya tidak akan membahas cara
penggunaan aplikasiphpmyadmin pada tutorial kali ini. Kita hanya menggunakannya untuk
mengecek koneksi dari aplikasi PHP ke MySQL.

Untuk masuk ke menu phpmyadmin, anda bisa mengetik alamat berikut pada web
browser:http://localhost/phpmyadmin/. Atau bisa juga dari halaman localhost XAMPP, lalu cari
menu phpmyadminyang berada pada pojok kiri halaman localhost.

om
.c
om
ilk
ia
un
.d
w
w
w

Jika anda menggunakan aplikasi MySQL bawaan XAMPP, dan apabila tidak ada masalah akan
tampil halaman awalPhpmyadmin seperti gambar dibawah ini:

3
om
Tampilnya halaman tersebut menandakan bahwa PHP dan MySQL telah terhubung secara

.c
sempurna. Namun jika tampilan phpmyadmin seperti gambar berikut ini, maka dapat disimpulkan
om
bahwa MySQL Server belum berjalan.
ilk
ia
un
.d
w
w
w

4
Jika anda mendapati tampilan tersebut, permasalahan terdapat pada aplikasi MySQL Server yang
belum dijalankan. Silahkan jalankan aplikasi MySQL dari XAMPP Control Panel.

Apabila anda menggunakan aplikasi MySQL yang terpisah (bukan bawaan XAMPP), maka
menu phpmyadminseharusnya akan menjadi seperti gambar berikut:

om
.c
om
ilk
ia
un
.d
w
w
w

Namun jangan khawatir, pesan error tersebut terjadi karena phpmyadmin mencoba masuk ke
MySQL Server dengan user ’root’ dan tanpa password. Pesan error #1045 – Access denied for
user ‘root’@’localhost’ (using password: NO)merupakan pesan error ketika kita salah memasukkan
password untuk user root. Jika anda mengikuti tutorial MySQL di duniailkom, user root akan memiliki
password’qwerty’ dan bukan kosong, sehingga hal inilah yang menyebabkan tampilan error tersebut.

Tampilan error diatas sebenarnya berarti MySQL Servertelah berjalan, dan bisa diakses dari PHP.

5
Perkembangan Cara Koneksi PHP dan MySQL
PHP merupakan bahasa pemograman yang selalu di update, dan berkembang mengikuti teknologi
terbaru. Saat ini, Pemograman Berorientasi Objek (Object Oriented Programming) merupakan
trend pemograman PHP, dan hal ini juga mempengaruhi cara mengakses database MySQL dari
PHP.

PHP memiliki 3 cara pengaksesan MySQL, yakni melaui PDO (PHP Data Objects), mysqli
extension dan mysql extension. PDO menggunakan pemograman objek, mysqli
extension tersedia dalam bentuk objek dan prosedural(diakses melalui fungsi­fungsi)
sedangkan mysql extensionsepenuhnya menggunakan pemograman prosedural.

1. Koneksi MySQL dengan mysql extension
Saat pertama kali mempelajari PHP MySQL sekitar tahun 2008 (atau jika anda pernah mempelajari
PHP­MySQL beberapa tahun yang lalu), untuk mengakses MySQL dari PHP, kita menggunakan

om
fungsi­fungsi sepertimysql_connect(), mysql_query(), dan mysql_fetch_array().Fungsi­fungsi ini
tergabung ke dalam mysql extension. Saat itu PDO dan mysqli extension masih jarang digunakan.

.c
om
Namun saat ini, tepatnya mulai PHP versi 5.5.0, PHP memutuskan untuk membuat mysql
extension berstatusdeprecated. Yang artinya pengaksesan database MySQL menggunakan
ilk

fungsi mysql extension sudah tidak disarankan lagi. Programmer PHP diharapkan pindah kemysqli
extension atau PDO yang berbasis objek.
ia
un

Alasannya, MySQL versi terbaru memiliki fitur­fitur yang semakin lengkap dan kompleks, sehingga
PHP memutuskan untuk membuat fungsi extension baru agar programmer PHP bisa menggunakan
.d

fitur­fitur ini.
w

2. Koneksi MySQL dengan mysqli extension
w
w

Sebagai pengganti mysql extension, PHP menyediakanmysqli extension (mysqli merupakan
singkatan dariMySQL Improved). Mysqli extension ini pada dasarnya adalah perbaikan dari mysql
extension dan dikembangkan untuk mendukung fitur­fitur terbaru pada versi MySQL 4.1keatas.
Hampir semua fungsi yang ada pada mysql extension, juga tersedia pada mysqli.

Selain menggunakan mysql maupun mysqli extension, cara ketiga untuk pengaksesan database
MySQL dari PHP adalah menggunakan PHP Data Objects (atau sering disingkat dengan PDO).

3. Koneksi MySQL dengan PDO (PHP Data Objects)
PDO (PHP Data Objects), adalah extension atau penambahan fitur dalam PHP yang dirancang
sebagai interface universaluntuk pengaksesan berbagai jenis database (tidak hanya MySQL).
Contohnya, jika kita menggunakan PDO dalam menulis kode pemograman, lalu suatu saat website
kita bertukar database dari MySQL ke Oracle, maka kita tidak perlu mengubah semua kode
program, cukup mengubah cara pemanggilan PDO diawal program saja.
6
Cara Penulisan mysql extension, mysqli extension,
dan PDO (PHP Data Objects)
Untuk mengetahui secara sekilas perbedaan cara pengaksesan database MySQL
menggunakan mysql extension, mysqli extension, dan PDO, berikut contoh kode PHPnya:

<?php
// mengakses MySQL menggunakan mysql extension
$link = mysql_connect("localhost", "root", 
"qwerty");
mysql_select_db("mahasiwa");
$result = mysql_query("SELECT * FROM mahasiswa");
$row = mysql_fetch_assoc($result);
  
// mengakses MySQL menggunakan mysqli extension
$mysqli = new mysqli("localhost", "root", 
"qwerty", "mahasiswa");
$result = $mysqli‐>query("SELECT * FROM 

om
mahasiswa");
$row = $result‐>fetch_assoc();
  

.c
// mengakses MySQL menggunakan PDO
om
$pdo = new 
PDO('mysql:host=localhost;dbname=universitas', 
'root', 'qwerty');
$statement = $pdo‐>query("SELECT * FROM 
ilk

mahasiswa");
$row = $statement‐>fetch(PDO::FETCH_ASSOC);
ia

?>
un

Dalam contoh diatas, dianggap bahwa user MySQL adalahroot, password ’qwerty’, dan nama
.d

database ’universitas’.
w
w

Anda tidak perlu memahami kode program diatas, karena kita akan membahasnya dalam tutorial
w

belajar PHP MySQL di duniailkom ini.

Dalam tutorial PHP MySQL di duniailkom ini, untuk tahap pertama, saya akan menggunakan
metode mysql extension yang berbasis fungsi terlebih dahulu. Walaupun metode ini tidak disarankan
lagi, namun metode inilah yang paling mudah dipelajari dan dikenal luas.

Setelah selesai membahas mysql extension, nantinya kita akan beralih ke mysqli extension. Cara
pengaksesan MySQL dengan PDO yang berbasis objek akan lebih mudah dipahami jika anda telah
mempelajari pemograman berbasis objek.

7
Pengertian Extension dalam PHP
Sampai tutorial kali ini, beberapa kali saya menggunakan istilah extension. Namun apakah yang
dimaksud denganextension ini?

Extension di dalam PHP adalah istilah yang merujuk kepada 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, extensiondalam PHP
menyediakan berbagai fungsi lainnya untuk keperluan yang lebih khusus, seperti pembuatan gambar,
kriptografi, penanganan email, pembuatan PDF, dan lain­lain.

Cara Setting mysql extension dengan php.ini

om
Untuk mengaktifkan extension dalam PHP, bisa dilakukan dari file setingan php.ini (cara membuka

.c
file php.ini telah kita pelajari pada tutorial Cara Mengubah File Konfigurasi PHP (php.ini)), lalu
om
cari extension=php_mysql.dll danextension=php_mysqli.dll, pastikan menghapus tanda titik
koma di awal kedua extension ini untuk mengaktifkannya.
ilk
ia
un
.d
w
w
w

Masih pada file php.ini, pada bagian ini anda dapat melihat berbagai extension yang terdapat di
dalam PHP, bahkan sebahagian besar tidak aktif secara default.

File settingan php.ini menginstruksikan kepada PHP untuk mengaktifkan suatu extension, namun
file extension itu sendiri juga harus ada di dalam PHP. Anda bisa membuka
folder xampp\php\ext untuk melihat file­file extension yang digunakan untuk menambah fitur PHP.

8
om
.c
Untuk memeriksa apakah setinganextension=php_mysql.dll sudah aktif, kita bisa menggunakan
fungsi phpinfo(). Anda bisa menjalankan fungsi phpinfo() didalam sebuah file php, atau bisa juga
om
dengan men­klik menu phpinfo() dari halaman localhostdari XAMPP. Dalam
halaman phpinfo(), carilah bagian mysql seperti tampilan berikut:
ilk
ia
un
.d
w
w
w

Jika anda menemukan bagian mysql, berarti extension mysql telah aktif dan kita bisa mulaI membuat
program untuk mengakses database melalui PHP.

9
Mengenal Fungsi koneksi PHP­MySQL:
mysql_connect()
Untuk membuat koneksi antara PHP dengan MySQL, PHP menyediakan fungsi mysql_connect().

Fungsi ini diibaratkan sebagai cara untuk login kedalamMySQL Server.
Fungsi mysql_connect() membutuhkan 3 argumen, dan mengembalikan nilai fungsi berupa ‘variabel
koneksi’ ke MySQL.

Berikut adalah format dasar penulisan fungsimysql_connect():

$link = mysql_connect(’mysql_host’, 'mysql_user', 
'mysql_password');

$link merupakan variabel yang akan menampung hasil dari fungsi mysql_connect (). Jika
berhasil terhubung dengan MySQL, $link akan berisi nilai yang berfungsi sebagai ’link

om
koneksi’ dengan MySQL. Link koneksi ini akan dibutuhkan sepanjang kita membuat program
PHP­MySQL nantinya.

.c
mysql_host adalah argumen pertama dari fungsimysql_connect(). Nilai mysql_host diisi
om
dengan alamat komputer dimana MySQL Server berjalan. Jika anda menjalankan MySQL
menggunakan XAMPP di komputer yang sama dengan tempat web server Apache berjalan,
ilk

maka alamat ini bisa diisi dengan’localhost’ atau ’127.0.0.1’. Namun jika MySQL server
dijalankan dari komputer lain, argumen ini akan berisiIP address dari komputer tersebut.
ia
un

mysql_user adalah nama user MySQL dimana kita akan login.
Seperti ’root’, ’admin’, ’andi’ dan lain­lain tergantung kepada user MySQL yang telah terdaftar
.d

di server. Cara membuat dan menghapus user MySQL telah saya bahas pada Tutorial Cara
w

Membuat dan Menghapus User MySQL (CREATE USER). Jika anda menggunakan MySQL
w

bawaan XAMPP, user ’root’dapat digunakan.
w

mysql_password diisi dengan password dari useryang dibuat pada argumen mysql_user.

Variabel $link yang berisi link koneksi PHP­MySQL (hasil dari fungsi mysql_connect()), termasuk
ke dalam kelompok tipe data khusus PHP yang disebut resources. VariabelResources tidak bisa
berdiri sendiri dan biasanya digunakan sebagai argumen untuk fungsi lain. Anda bebas mengganti
nama variabel $link dengan nama lain, seperti $koneksi, $link_mysql, dll.

Jika koneksi dengan PHP gagal dilakukan, fungsimysql_connect() akan mengembalikan nilai
BooleanFALSE. Hasil FALSE ini akan disimpan dalam variabel $link dan bisa kita gunakan dalam
perulangan IF untuk menampilkan error yang terjadi

Cara Membuat Koneksi PHP dengan MySQL
Untuk mengetahui cara membuat koneksi antara MySQL dengan PHP, langsung saja kita masuk
10
kedalam contoh kode program cara penggunaan fungsi mysql_connect().

Berikut adalah kode PHP untuk membuat koneksi dengan MySQL:

1 <?php
2 //buat koneksi MySQL untuk user: root, 
3 tanpa password, alamat: localhost
4 $link=mysql_connect('localhost','root','');
5  
6 //cek apakah koneksi dengan MySQL berhasil
7 if ($link)
8    {
9       //koneksi berhasil
10      echo "Koneksi dengan MySQL berhasil";
11    }
12 else
13    {
14       //koneksi gagal
15      echo "Koneksi dengan MySQL gagal";
16    }
17  

om
18 //memeriksa nilai dari $link
19 echo "<br />";
20 echo 'hasil var_dump variabel $link : ';

.c
21 var_dump($link);
?>
om
ilk

Jika koneksi dengan MySQL berhasil, maka di dalam web browser akan tampil gambar seperti
berikut ini:
ia
un

Pada bagian pertama kode program, saya membuat fungsimysql_connect(‘localhost’,’root’,”).
.d

Fungsi ini berarti saya mencoba login dengan MySQL Server yang berada di
alamat localhost (komputer yang sama dengan web server berada),
w

nama user ’root’ dan password ’’ (string kosong, yang berarti tanpa password).
w
w

Fungsi mysql_connect() mengembalikan kondisi status koneksi ke dalam variabel $link.
Variabel $link akan berisi link koneksi (bertipe resources) jika berhasil terkoneksi dengan MySQL,
dan akan bernilai TRUE jika dikonversi menjadi Boolean.

Namun variabel $link akan berisi nilai Boolean FALSE jika PHP gagal login ke MySQL. Nilai $link ini
bisa digunakan untuk pengecekan apakah koneksi berhasil atau tidak.

Jika terjadi kesalahan, misalkan saja saya mengubah password root menjadi ’123456’, maka
tampilan web browser akan seperti berikut ini:

11
Seperti yang terlihat, PHP mengeluarkan pesan errormysql_connect(): Access denied for user
‘root’@’localhost’ (using password: YES), yang berarti login ke MySQL gagal karena salah password
untuk user root.

om
Agar lebih informatif, diakhir program saya tampilkan nilai dari variabel $link dengan menggunakan

.c
fungsivar_dump(). Anda akan melihat bahwa variabel $linkbertipe data ’resources’ jika koneksi
om
berhasil, dan bertipe data Boolean FALSE, jika koneksi gagal.
ilk

Sedikit catatan tentang user MySQL jika menggunakan MySQL Server dari XAMPP.
ia

Selain user root, MySQL bawaan XAMPP juga berisi beberapa user lain. Berikut adalah
un

daftar user tersebut:
.d
w
w
w

Hal yang penting dari tabel diatas, MySQL membolehkan user dengan nama: ANY, yang
berarti MySQL bawaan XAMPP membolehkan user dengan nama apapun untuk masuk
ke MySQL Server, sehingga jika anda mengubah contoh kita
menjadi:$link=mysql_connect(‘localhost’,’aku_siapa’,”), PHP akan tetap berhasil
masuk kedalam MySQL Server.

MySQL versi XAMPP memang tidak dirancang untuk keamanan, namun lebih kepada
kemudahan dalam membuat kode program PHP.

12
Mengenal fungsi die() dan exit() dalam PHP
Salah satu fungsi PHP yang sering digunakan pada saat melakukan koneksi dengan MySQL adalah
fungsi die() danexit().

Sesuai dengan namanya, fungsi ini bertujuan untuk ’membunuh’ atau ’keluar’ dari PHP. Kedua fungsi
ini bertujuan untuk membuat proses PHP berhenti diproses pada saat itu juga (pada saat fungsi ini
dipanggil).

Sebelum ’bunuh diri’, fungsi die() dan exit() bisa menampilkan “pesan terakhir”.

Berikut adalah penggunaan fungsi die() dalam membuat koneksi antara PHP dengan MySQL:

1 <?php
2 //buat koneksi dengan MySQL
3 $link=mysql_connect('localhost','root','123');
4  
5 //cek apakah koneksi dengan MySQL berhasil

m
6 if ($link)
7    {

o
8       //koneksi berhasil

.c
9      echo "Koneksi dengan MySQL berhasil";
10    }
om
11 else
12    {
13       //koneksi gagal
lk

14      die("Koneksi dengan MySQL gagal");
15      echo "Pesan ini tidak akan pernah 
ai

16 ditampilkan";
ni

17    }
?>
u
.d

Fungsi die() pada kode diatas akan menyebabkan proses PHP berhenti jika login ke database
w

MySQL gagal dilakukan. Dengan menggunakan fungsi die(), kita bisa memastikan bahwa PHP tidak
w

akan mengeksekusi perintah­perintah selanjutnya.
w

Apabila kita tidak menggunakan die(), maka PHP akan terus menjalankan proses berikutnya yang
akan menghasilkanerror (karena koneksi ke database memang tidak akan bisa dilakukan).

Menghentikan koneksi PHP MySQL dengan
mysql_close()
Koneksi PHP dengan MySQL akan dihentikan secara otomatis pada saat eksekusi program selesai,
yaitu pada saat halaman PHP selesai diproses, sehingga kita tidak perlu menghentikanya secara
manual.

Namun jika anda ingin menghentikan koneksi dengan MySQL pada saat program PHP sedang
berjalan, PHP menyediakan fungsi mysql_close(). Fungsi ini membutuhkan 1 buah argumen yang
diisi dengan variabel ‘link koneksi’ hasil pemanggilan fungsi mysql_connect().Variabel koneksi ini
13
bersifat opsional, dan jika diabaikan maka PHP akan menggunakan koneksi mysql terakhir.

Berikut adalah contoh penggunaan fungsi mysql_close():

1 <?php
2 //buat koneksi dengan MySQL
3 $link=mysql_connect('localhost','root','123');
4 //...Kode Program PHP‐MySQL
5 //...Kode Program PHP‐MySQL
6 //...Kode Program PHP‐MySQL
7   
8 //menghentikan koneksi dengan MySQL
9 mysql_close($link);
10 //...Kode Program PHP
11 //...Kode Program PHP
12 ?>

Dalam tutorial kali ini, kita telah berhasil membuat koneksi antara PHP dengan MySQL Server.

om
Namun untuk ’berkomunikasi’ dengan database dalam MySQL, harus menggunakan “query”. Dalam
tutorial berikutnya kita akan membahas cara menjalankan query MySQL dari PHP dengan fungsi

.c
mysql_query.
om
ilk
ia
un
.d
w
w
w

14
Mengenal Fungsi Query PHP­MySQL: mysql_query
Untuk menjalankan query MySQL, PHP menyediakan fungsimysql_query(). Fungsi ini dijalankan
setelah koneksi berhasil dilakukan dengan fungsi mysql_connect().

Fungsi mysql_query() merupakan fungsi yang akan sering kita gunakan, karena dengan fungsi inilah
PHP akan melakukan ’percakapan’ dengan MySQL. Hampir seluruh perintah query MySQL yang kita
bahas pada tutorial belajar MySQL Dasar, dapat dijalankan dengan fungsimysql_query().

Fungsi mysql_query() membutuhkan 2 argumen, dimana argumen pertama diisi dengan query
MySQL, dan argumen kedua diisi dengan link koneksi hasil fungsimysql_connect(). Argumen kedua
ini bersifat opsional.

Berikut adalah format dasar penulisan fungsimysql_query() dalam PHP:

om
$result = mysql_query('query_mysql',[$link_koneksi_mysql]);

$result adalah variabel yang akan menampung hasil dari fungsi mysql_query(). Jika

.c
fungsi mysql_query()berhasil dijalankan, variabel $result akan berisi hasilquery. Namun
om
hasil query ini harus diproses lebih lanjut agar datanya dapat ditampilkan.
Variabel$result bertipe resources (sama dengan hasil dari fungsi mysql_conncect()).
ilk

Variabel $result akan bernilai Boolean FALSE jika query gagal dijalankan. Nama dari variabel
ia

ini tidak harus ditulis sebagai$result, anda bebas jika ingin menggantinya dengan nama lain.
un

‘query_mysql’ adalah argumen pertama fungsimysql_query(). Pada bagian inilah kita menulis
queryMySQL. Query tersebut selanjutnya akan dikirim kepada MySQL Server untuk diproses.
.d

Argumen ini harus pertipe String dan mengikuti aturan Stringdidalam PHP. Contoh query ini,
w

misalnya ”SELECT * FROM mahasiswa”, atau ”CREATE DATABASE universitas”.
w
w

$link_koneksi_mysql adalah argumen kedua dari fungsi mysql_query(). Argumen ini diisi
dengan variabel hasil pemanggilan fungsi mysql_connect().Argumen ini bersifat opsional, dan
jika diabaikan, PHP akan menggunakan variabel mysql_connect() yang sedang terkoneksi
saat ini.

Jika anda belum memahami pengertian dan cara penulisan query SELECT MySQL,
duniailkom telah menyediakan tutorial dasar tentang query dalam Tutorial MySQL: Cara
Penulisan Query SELECT MySQL.

Cara Menjalankan query MySQL dari PHP
Untuk memahami cara penggunaan fungsi mysql_query(), langsung saja kita masuk kedalam
contoh program. Dalam contoh program berikut, saya akan membuat query untuk menampilkan

15
seluruh database yang ada di dalam MYSQL.

Berikut adalah contoh program penulisan fungsimysql_query dalam PHP:

<?php
//buat koneksi dengan MySQL
$link=mysql_connect('localhost','root','');

//jika koneksi gagal, langsung keluar dari PHP
if (!$link)
   {
   die("Koneksi dengan MySQL gagal");
   }

//jalankan query
$result=mysql_query('SHOW DATABASES',$link);

om
//tampilkan hasil query

.c
while ($row = mysql_fetch_row($result)) 
om
   {
     echo $row[0];
     echo "<br />";
ilk

   }
ia

?>
un

Jika anda menjalankan perintah diatas, didalam web browser akan tampil semua nama database
.d

yang ada dalam MySQL.
w

Pada baris ke­3 dari program diatas, saya membuat koneksi dengan MySQL menggunakan
w

fungsi mysql_connect().Fungsi ini menggunakan user ’root’ dan tanpa password. Hasil koneksi
w

fungsi saya simpan ke dalam variabel $link.

Selanjutnya pada baris ke­6 saya memeriksa nilai dari koneksi mysql_connect() dengan cara
membuat logika IF untuk variabel $link. Jika MySQL gagal diakses, maka fungsidie() akan
memerintahkan PHP untuk menghentikan program.

Namun jika koneksi berhasil, pada baris ke­12 saya membuat fungsi mysql_query() untuk
menjalankan query ’SHOW DATABASES’. Query ini adalah perintah untuk menampilkan seluruh
nama database yang ada padaMySQL.

Kode program pada baris ke­15 digunakan untuk menampilkan hasil query.
Fungsi mysql_fetch_row() belum saya bahas, dan akan kita pelajari pada tutorial berikutnya.

Apabila query yang digunakan lebih panjang dan kompleks, anda bisa menyimpannya di dalam
sebuah variabel terlebih dahulu, baru kemudian dijalankan dengan mysql_query(),seperti contoh

16
berikut ini:

$query="SELECT * FROM mahasiswa WHERE IPK>5";
$result=mysql_query($query,$link);

Dengan memindahkan query kedalam variabel, akan membuat program kita menjadi lebih rapi.

Argumen kedua dari fungsi mysql_query() juga boleh tidak ditulis, dan PHP akan menggunakan link
koneksi MySQLterakhir yang tersedia, seperti contoh berikut:

$query="SELECT * FROM mahasiswa WHERE IPK>5";
$result=mysql_query($query);

Fungsi mysql_connect() dan mysql_query() adalah fungsi paling dasar dalam koneksi PHP dengan
MySQL. Untuk menampilkan hasil dari query tersebut, PHP menyediakan berbagai cara yang bisa

om
digunakan untuk berbagai situasi. Cara pengaksesan ini akan kita pelajari pada artikel­artikel
selanjutnya.

.c
om
ilk
ia
un
.d
w
w
w

17
Menampilkan Tabel MySQL dengan fungsi
mysql_fetch_row
Untuk menampilkan tabel MySQL di dalam PHP, hasil dari fungsi mysql_query() harus diproses
lebih lanjut agar bisa ditampilkan di dalam web browser. PHP menyediakan banyak cara untuk
menampilkan hasil query MySQL. Salah satunya akan kita bahas dalam tutorial kali ini: dengan
fungsi mysql_fetch_row().

Perintah SELECT adalah query MySQL yang paling sering gunakan. Query ini berfungsi untuk
menampilkan data daridatabase. Data yang ditampilkan MySQL biasanya diberikan dalam bentuk
tabel yang terdiri dari baris dan kolom.

Fungsi mysql_fetch_row() digunakan untuk menampilkan tabel secara baris per baris.
Fungsi mysql_fecth_row() akan mengembalikan nilai 1 baris dari sebuah tabel pada setiap
pemanggilan. Sehingga untuk dapat menampilkan seluruh isi tabel, fungsi mysql_fecth_row() harus

om
dipanggil secara berulang.

Berikut adalah format dasar penulisan fungsimysql_fetch_row() dalam PHP

.c
om
$row = mysql_fetch_row($result)

$row adalah variabel yang akan menampung hasil fungsi  mysql_fetch_row(). Hasil dari
ilk

fungsimysql_fetch_row() berupa tipe data array dengankey merujuk kepada kepada urutan
ia

kolom, dan value­nya (nilai dari array) adalah isi dari kolom tersebut.
un

$result adalah variabel inputan query untuk fungsimysql_fecth_row(). Variabel ini berasal dari
fungsimysql_query().
.d
w

Cara pengambilan data dari variabel $row, penting untuk dipahami.
w

Variabel $row hasil fungsi mysql_fetch_row() bertipe array. Jika sebuah baris di dalam tabel
w

MySQL terdiri dari 3 kolom, maka varibel $row akan berisi nilai sebagai
berikut:$row[0]=nilai_kolom_1, $row[1]=nilai_kolom_2, dan$row[2]=nilai_kolom_3. Index array
dimulai dari 0, dan karena itu kolom 1 berada pada index 0, bukan index 1.

Yang perlu menjadi perhatian, fungsi mysql_fetch_row()hanya membaca 1 baris pada sekali
pemanggilan. Jika tabel kita terdiri dari 5 baris, maka fungsi mysql_fecth_row()harus diulang
sebanyak 5 kali.

Cara Menampilkan Tabel MySQL dari PHP
Agar lebih mudah memahami cara kerja fungsimysql_fetch_row(), kita akan langsung praktek
dengan kode program.

Karena fungsi mysql_fetch_row() digunakan untuk menampilkan data, kita harus membuat datanya
18
terlebih dahulu, yaitu berupa database MySQL beserta tabelnya.

Sebagai data contoh dan sarana latihan menggunakan query MySQL, saya akan membuat
database universitas, dan tabel mahasiswa_ilkom. Database universitas dan
tabel mahasiswa_ilkom ini juga akan saya gunakan pada tutorial PHP MySQL selanjutnya.

Berikut adalah kode yang diperlukan:

1 <?php
2 //buat koneksi dengan MySQL
3 $link=mysql_connect('localhost','root','');
4   
5 //jika koneksi gagal, langsung keluar dari 
6 PHP
7 if (!$link)
8 {
9    die("Koneksi dengan MySQL gagal");
10 }
11   
12 //buat database universitas

om
13 $result=mysql_query('CREATE DATABASE 
14 universitas');
15 if (!$result)
16 {
.c
om
17    die("Database mahasiswa gagal dibuat");
18 }
19   
ilk

20 //gunakan database universitas
21 $result=mysql_query('USE universitas');
22 if (!$result)
ia

23 {
un

24    die("Database mahasiswa gagal 
25 digunakan");
26 }
.d

27   
28 //buat tabel mahasiswa_ilkom
w

29 $query= "CREATE TABLE mahasiswa_ilkom (nim 
w

30 CHAR(9) NOT NULL PRIMARY KEY, 
31 nama CHAR(50), umur INT, tempat_lahir 
w

32 CHAR(50), IPK DECIMAL (3,2))";
33 $result=mysql_query($query);
34 if (!$result)
35 {
36    die("Tabel mahasiswa_ilkom gagal 
37 dibuat");
38 }
39   
40 //tambahkan data ke dalam tabel 
41 mahasiswa_ilkom
42 $query="INSERT INTO mahasiswa_ilkom VALUES 
43 ('089045001', 'Andi Suryo',
44 23, 'Jakarta', 2.7)";
45 mysql_query($query);
46   
47 $query="INSERT INTO mahasiswa_ilkom VALUES 
48 ('109245021', 'Santi Syanum',
49 21, 'Malang', 3.2)";
50 mysql_query($query);
51   
19
52 $query="INSERT INTO mahasiswa_ilkom VALUES 
53 ('099145055', 'Neil Situmorang',
54 22, 'Medan', 1.9)";
55 mysql_query($query);
56   
$query="INSERT INTO mahasiswa_ilkom VALUES 
('089023013', 'Alex Supriyanto',
23, 'Surabaya', 2.9)";
mysql_query($query);
  
$query="INSERT INTO mahasiswa_ilkom VALUES 
('109223041', 'Rani Sabrina',
21, 'Padang',3.7)";
mysql_query($query);
  
echo "Database universitas dan Tabel 
mahasiswa_ilkom berhasil dibuat";
?>

Kode PHP diatas sedikit panjang jika dibandingkan contoh­contoh kita sebelumnya, namun intinya

om
perintah diatas adalah untuk membuat database universitas, dan tabelmahasiswa_ilkom. Setelah
tabel terbentuk, kemudian saya menambahkan beberapa data kedalam tabel tersebut.

.c
Dari contoh diatas, anda juga dapat melihat cara pembuatan database, pembuatan tabel, dan cara
om
memasukkan nilai kedalam database. Semuanya dijalankan dengan fungsi mysql_query().
ilk

Jika anda sudah paham tentang query MySQL, perintah querydiatas tentunya tidak terlalu sulit untuk
dipahami. Namun jika ragu tentang instruksi query yang saya gunakan, anda bisa mempelajarinya
ia

di tutorial MySQL duniailkom.
un

Fungsi­fungsi PHP yang saya gunakan juga telah kita pelajari pada tutorial sebelumnya. Tambahan
.d

baru mungkin ada pada penggunaan logika IF untuk menangani fungsi yang gagal. Saya
w

menggunakan instruksi (!$result) untuk masuk pada fungsi die() jika fungsi tersebut gagal
w

dijalankan.
w

Sebagai contoh, jika anda menjalankan kode diatas sebanyak 2 kali, maka akan tampil
pesan ‘Database mahasiswa gagal dibuat’. Hal ini terjadi karena terdapat duplikasi database di
dalam MySQL, sehingga kode PHP akan berhenti pada baris ke 15 karena fungsi die().

Cara Menampilkan Baris Tabel Dengan Fungsi
mysql_fetch_row
Setelah tabel contoh selesai dibuat, saatnya kita mencoba menampilkan data dari
tabel mahasiswa_ilkom dengan fungsi mysql_fetch_row().

Cara paling dasar untuk menampilkan data dari mysql adalah seperti kode program berikut ini:

1 <?php
2 //buat koneksi dengan MySQL
20
3 $link=mysql_connect('localhost','root','');
4   
5 //jika koneksi gagal, langsung keluar dari 
6 PHP
7 if (!$link)
8 {
9    die("Koneksi dengan MySQL gagal");
10 }
11   
12 //gunakan database universitas
13 $result=mysql_query('USE universitas');
14 if (!$result)
15 {
16    die("Database mahasiswa gagal 
17 digunakan");
18 }
19   
20 //tampilkan tabel mahasiswa_ilkom
21 $result=mysql_query('SELECT * FROM 
22 mahasiswa_ilkom');
$row=mysql_fetch_row($result);

om
echo "$row[0] $row[1] $row[2] $row[3] 
$row[4]";
?>

.c
om
ilk
ia
un
.d
w
w
w

Kode program dari baris 1 sampai baris 16 merupakan persiapan untuk mengkoneksikan MySQL dan
memilih database universitas.

Perhatikan pada baris ke 12, dimana saya menjalankanquery “USE universitas”. Query ini ditujukan
untuk memberitahu MySQL bahwa kita akan menggunakandatabase mahasiswa. Alternatif
penulisanmysql_query(‘USE universitas’) adalah dengan menggunakan
fungsi mysql_select_db(‘universitas’). Anda bebas ingin menggunakan salah satunya.

Pada baris ke­20 saya menjalankan query SELECT untuk menampilkan seluruh isi
tabel mahasiswa_ilkom.  Cara menjalankannya adalah dengan fungsi mysql_query()dengan
perintah query: ‘SELECT * FROM mahasiswa_ilkom’. Hasil fungsi ditampung kedalam
variabel $result.

21
Variabel $result selanjutnya diproses dengan fungsimysql_fetch_row($result), dan disimpan dalam
variabel$row.

Seperti yang telah kita pelajari, bahwa fungsimysql_fetch_row() akan menyimpan hasil query
sebagaiarray dengan key adalah urutan kolom mulai dari key ke­0 untuk kolom ke­1 tabel, $row[1]
untuk kolom ke­2, dan begitu seterusnya. Karena tabel mahasiswa_ilkom hanya memiliki 5 kolom,
maka $row[4] adalah kolom terakhir.

Cara Menampilkan Seluruh Tabel Dengan Fungsi
mysql_fetch_row
Sesuai namanya, fungsi mysql_fetch_row() hanya akan menampilkan baris perbaris, jadi
bagaimana caranya untuk menampilkan seluruh tabel mahasiswa_ilkom? Caranya adalah dengan
mengulang fungsi mysql_fetch_row()sebanyak jumlah baris yang ingin ditampilkan.

om
Sehingga contoh program kita menjadi sebagai berikut:

.c
1 <?php
2 //buat koneksi dengan MySQL
om
3 $link=mysql_connect('localhost','root','');
4   
5 //gunakan database universitas
ilk

6 $result=mysql_query('USE universitas');
7   
ia

8 //tampilkan tabel mahasiswa_ilkom
9 $result=mysql_query('SELECT * FROM 
un

10 mahasiswa_ilkom');
11  
12 $row=mysql_fetch_row($result);
.d

13 echo "$row[0] $row[1] $row[2] $row[3] 
w

14 $row[4]";
15 echo "<br />";
w

16  
17 $row=mysql_fetch_row($result);
w

18 echo "$row[0] $row[1] $row[2] $row[3] 
19 $row[4]";
20 echo "<br />";
21  
22 $row=mysql_fetch_row($result);
23 echo "$row[0] $row[1] $row[2] $row[3] 
24 $row[4]";
25 echo "<br />";
26  
27 $row=mysql_fetch_row($result);
28 echo "$row[0] $row[1] $row[2] $row[3] 
29 $row[4]";
echo "<br />";
 
$row=mysql_fetch_row($result);
echo "$row[0] $row[1] $row[2] $row[3] 
$row[4]";
?>

22
Pada contoh diatas, saya menghapus baris fungsi die()semata­mata agar contoh program kita tidak
terlalu panjang.

Kode program diatas berjalan sebagaimana dengan seharusnya, karena pada setiap pemanggilan

om
fungsimysql_fetch_row(), PHP akan ‘menggeser’ penunjuk baris MySQL ke baris berikutnya di
dalam tabel. Sehingga untuk pemanggilan mysql_fetch_row() ke­2 posisi pointer MySQL akan

.c
berada dibaris ke­2 dari tabel, dan begitu seterusnya hingga pemanggilan mysql_fetch_row() ke­5.
o m
Menampilkan Tabel MySQL Dengan Perulangan For
i lk
ia

Namun jika anda perhatikan, fungsi mysql_fetch_row()yang ditulis secara berulang­ulang pada
un

contoh sebelumnya merupakan pekerjaan yang cocok untuk fungsi perulangan. Sehingga dengan
menggunakan perulangan for, kode kita akan menjadi lebih mudah ditulis.
.d

1 <?php
w

2 //buat koneksi dengan MySQL
3 $link=mysql_connect('localhost','root','');
w

4   
w

5 //gunakan database universitas
6 $result=mysql_query('USE universitas');
7  
8 //tampilkan tabel mahasiswa_ilkom
9 $result=mysql_query('SELECT * FROM 
10 mahasiswa_ilkom');
11 for ($i=1;$i<=5;$i++)
12 {
13    $row=mysql_fetch_row($result);
14    echo "$row[0] $row[1] $row[2] $row[3] 
15 $row[4]";
16    echo "<br />";
}
?>

Fungsi diatas akan menampilkan seluruh baris yang ada di dalam
tabel mahasiswa_ilkom denganmelakukan perulangan fungsi mysql_fetch_row() sebanyak 5 kali.

23
Namun masih ada 1 hal lagi yang bisa kita perbaiki dari program diatas.

Menampilkan Tabel MySQL Dengan Perulangan While
Perulangan for mengharuskan kita untuk menulis langsung jumlah perulangan yang harus
dilakukan. Pada saat penulisan program, kita telah mengetahui bahwa tabelmahasiswa_ilkom berisi
5 baris, Namun bagaimana jika ternyata data di dalam tabel saat ini tidak lagi 5, tetapi sudah lebih dari
itu?

Untuk perulangan dimana banyaknya perulangan tidak diketahui pada saat penulisan program, kita
bisa beralih keperulangan while (Tutorial Cara Penulisan Perulangan While dalam PHP).

Untuk membuat hal ini menjadi lebih mudah, fungsimysql_fetch_row() akan mengembalikan
nilai FALSE jika pointer telah berada di baris terakhir tabel MySQL. Nilai kembalian ini menjadi
variabel yang tepat untuk ‘kondisi berhenti’ pada perulangan while.

om
Berikut adalah contoh program penggunaanmysql_fetch_row () dengan perulangan while:

.c
1 <?php
2 //buat koneksi dengan MySQL
m
3 $link=mysql_connect('localhost','root','');
4   
o
5 //gunakan database universitas
lk

6 $result=mysql_query('USE universitas');
i

7  
ia

8 //tampilkan tabel mahasiswa_ilkom
9 $result=mysql_query('SELECT * FROM 
un

10 mahasiswa_ilkom');
11 while ($row=mysql_fetch_row($result))
.d

12 {
13    echo "$row[0] $row[1] $row[2] $row[3] 
w

14 $row[4]";
15    echo "<br />";
w

}
w

?>

Konsep perulangan while seperti diatas akan sering anda lihat untuk menampilkan data dari
database MySQL.

Selain menggunakan fungsi mysql_fetch_row(), PHP masih memiliki fungsi lainnya untuk
menampilkan data tabel dariMySQL, salah satunya adalah fungsi mysql_fecth_array().

Fungsi mysql_fecth_array() lebih fleksibel karena kita tidak hanya bisa menggunakan angka, namun
juga ‘nama’ kolom sebagai key array. Pembahasan tentang fungsimysql_fecth_array() akan kita
pelajari dalam tutorial selanjutnya: Cara Menampilkan Tabel MySQL dari PHP (mysql_fetch_array().

24
Menampilkan Tabel MySQL dengan fungsi
mysql_fetch_array
Fungsi mysql_fetch_array() pada dasarnya hampir sama dengan fungsi mysql_fetch_row(), namun
fungsimysql_fetch_array() memberikan alternatif cara menampilkan data MySQL dengan lebih
mudah.

Jika dalam fungsi mysql_fetch_row() hasil fungsinya berupa array
dengan key atau indexnya berupa angka, seperti :$row[1], $row[2] dan $row[3], maka di
dalammysql_fetch_array(), kita bisa menggunakan nama kolom dari tabel MySQL
sebagai key atau index array seperti berikut ini: $row[‘nim’], $row[‘nama’] dan $row[‘umur’]. Cara
penulisan seperti ini akan memudahkan pembuatan program.

Selain menggunakan nama kolom pada index array, fungsimysql_fetch_array() juga bisa
menggunakan index penomoran kolom seperti mysql_fetch_row(), atau bahkan keduanya

om
sekaligus. Untuk mengatur fitur ini, fungsimysql_fetch_array() membutuhkan parameter tambahan.

Berikut adalah format dasar penulisan fungsimysql_fetch_array() dalam PHP:

.c
om
$row= mysql_fetch_array($result,[’tipe_hasil’])

$row adalah variabel yang akan menampung hasil fungsi mysql_fetch_array(). Hasil dari
ilk

fungsi mysql_fetch_array() berupa tipe data array dengankey yang bergantung kepada
ia

konstanta ‘tipe_hasil’.
un

$result adalah variabel hasil menjalankan query MySQL yang berasar dari
fungsi mysql_query().
.d
w

’tipe_hasil’ merupakan konstanta opsional yang digunakan untuk mengatur index array dari
w

hasil fungsi mysql_fetch_array(). Konstanta yang bisa digunakan adalah salah satu dari ketiga
nilai berikut:MYSQL_NUM, MYSQL_ASSOC atau MYSQL_BOTH. Jika argumen ini tidak
w

ditulis, nilai defaultnya adalah MYSQL_BOTH.

Perbedaan mysql_fetch_array: MYSQL_NUM,
MYSQL_ASSOC danMYSQL_BOTH
Cara mengakses array dari fungsi mysql_fetch_array()bergantung kepada argumen ‘tipe_hasil’.
Argumen ‘tipe_hasil’ hanya bisa berisi satu dari 3 konstanta:MYSQL_NUM,
MYSQL_ASSOC atau MYSQL_BOTH.

Jika argumen keduadari fungsi mysql_fetch_array() diisiMYSQL_NUM, maka index array akan
menjadi angka (sama seperti hasil mysql_fetch_row()), dan bisa ditampilkan seperti: $row[1],
$row[2] dan $row[3].

25
Jika argumen kedua diisi MYSQL_ASSOC, index array akan menjadi nama kolom, dan bisa
ditampilkan seperti: $row[‘nim’], $row[‘nama’] dan $row[‘umur’].

Opsi ketiga, jika argumen diisi MYSQL_BOTH maka index array mendukung 2 pemanggilan, yakni
berupa angka dan nama kolom.

Sama seperti fungsi mysql_fetch_row(), mysql_fetch_row()hanya membaca 1 baris pada sekali
pemanggilan. Jika tabel kita terdiri dari 5 baris, maka fungsi mysql_fecth_array()harus diulang
sebanyak 5 kali (atau menggunakan metoda perulangan while seperti yang kita lakukan pada
tutorialmysql_fetch_row().

Cara Penggunaan Fungsi mysql_fecth_array()
Agar lebih mudah dipahami, langsung saja kita masuk kedalam contoh kode program. Masih
menggunakan contoh database universitas yang dibuat pada tutorialmysql_fetch_row(), kali ini saya

om
akan menggunakan fungsimysql_fetch_array() untuk menampilkan hasilnya.

Berikut adalah contoh penggunaan fungsi mysql_fetch_array() dalam PHP:

.c
om
1 <?php
2 //buat koneksi dengan MySQL
3 $link=mysql_connect('localhost','root','');
ilk

4   
5 //gunakan database universitas
ia

6 $result=mysql_query('USE universitas');
7                 
un

8 //tampilkan tabel mahasiswa_ilkom
9 $result=mysql_query('SELECT * FROM 
10 mahasiswa_ilkom');
.d

11 while ($row=mysql_fetch_array($result, 
w

12 MYSQL_NUM))
13  {
w

14    echo "$row[0] $row[1] $row[2] $row[3] 
15 $row[4]";
w

   echo "<br />";
 }
?>

26
Dalam contoh diatas, baris 1­6 merupakan kode program untuk membuat koneksi dengan MySQL.
Pada baris ke­9, saya membuat query ‘SELECT * FROM mahasiswa_ilkom’yang akan

om
mengembalikan seluruh isi tabelmahasiswa_ilkom.

.c
Jika diperhatikan, kode program diatas sama persis dengan contoh terakhir pada
tutorial mysql_fetch_row(), hanya pada baris ke 10 saya menggantinya dengan
om
fungsimysql_fetch_array().
ilk

Konstanta MYSQL_NUM pada argumen ke­2 fungsimysql_fetch_array(), menginstruksikan kepada
PHP bahwa nilai kembalian untuk variabel $row adalah array dengan index angka, sehingga
ia

hasilnya sama persis denganmysql_fetch_row() yang diakses dengan $row[0] untuk kolom
un

pertama tabel, $row[1] untuk kolom kedua tabel, dan seterusnya.
.d

Jika menggunakan konstanta MYSQL_NUM akan membuat fungsi mysql_fetch_array() sama
w

dengan mysql_fetch_row(),bagaimana dengan MYSQL_ASSOC? Dalam contoh berikut, saya akan
w

mengubah konstanta fungsi mysql_fetch_array() dengan MYSQL_ASSOC :
w

1 <?php
2 //buat koneksi dengan MySQL
3 $link=mysql_connect('localhost','root','');
4   
5 //gunakan database universitas
6 $result=mysql_query('USE universitas');
7                 
8 //tampilkan tabel mahasiswa_ilkom
9 $result=mysql_query('SELECT * FROM 
10 mahasiswa_ilkom');
11 while ($row=mysql_fetch_array($result,MYSQL_ASSOC))
12  {
13    echo $row['nim']." ".$row['nama']." 
14 ".$row['umur']." ";
15    echo $row['tempat_lahir']." ".$row['IPK'];
16    echo "<br />";
 }
?>

27
Pada contoh kali ini, pada baris ke­10, fungsimysql_fetch_array() saya panggil dengan
konstantaMYSQL_ASSOC sebagai argumen kedua. Dengan cara ini, hasil kembalian query, berupa
array dengan index nama kolom dari tabel MySQL.

Karena menggunakan konstanta MYSQL_ASSOC, cara pengaksesan nilai $row harus
menggunakan index nama kolom tabel. Jika di dalam MySQL nama kolom adalah ‘nim’, maka untuk
menampilkan data kolom tersebut, kita menggunakan $row[‘nim’]. Jika di dalam MySQL nama
kolom adalah ‘tempat_lahir’, untuk menampilkan data kolom tersebut, adalah dengan
$row[‘tempat_lahir’], dan seterusnya.

Dengan cara ini, kita akan mudah untuk merancang tampilan tabel MySQL, terutama jika urutan
kolom tidak ditampilkan secara berurutan.

Untuk pilihan konstanta terakhir: MYSQL_BOTH, MySQL akan mengembalikan nilai $row yang bisa
diakses baik dengan index angka maupun dengan index nama kolom. Berikut adalah contoh kode
programnya:

om
1 <?php
2 //buat koneksi dengan MySQL

.c
3 $link=mysql_connect('localhost','root','');
4   
om
5 //gunakan database universitas
6 $result=mysql_query('USE universitas');
7                 
ilk

8 //tampilkan tabel mahasiswa_ilkom
9 $result=mysql_query('SELECT * FROM 
ia

10 mahasiswa_ilkom');
11 while ($row=mysql_fetch_array($result,MYSQL_BOTH))
un

12  {
13    echo $row[0]." ".$row['nama']." 
.d

14 ".$row['umur']." ";
15    echo $row[3]." ".$row['IPK'];
w

16    echo "<br />";
 }
w

?>
w

Seperti yang terlihat, saya membuat perintah $row[0] dan$row[‘nama’] dalam pemanggilan yang
sama, dan PHP dapat menampilkan hasil sesuai dengan yang diharapkan.

Perlu diketahui, pada panduan resmi PHP, fungsi mysql_fetch_array() ditegaskan tidak
akan lebih lambat dari pada fungsimysql_fetch_row(), walaupun
fungsimysql_fetch_array() menawarkan fitur tambahan. Pengaksesan array hasil
MySQL dengan menggunakan angka maupun nama akan sama cepatnya.

Pada dasarnya, pengaksesan MySQL melalui PHP, hanya membutuhkan 3 fungsi utama,
yakni mysql_connect(),mysql_query(), dan mysql_fecth_array(). Sampai disini, kita telah
mempelajari ketiga fungsi penting tersebut.

28
Dalam tutorial selanjutnya, kita akan mempelajari cara menampilkan pesan error dari MySQL ketika
query yang dijalankan tidak sesuai.

om
.c
om
ilk
ia
un
.d
w
w
w

29
Cara Menampilkan Pesan Error MySQL dalam PHP
Agar lebih informatif, ketika query tidak berjalan dengan semestinya, PHP menyediakan 2 buah
fungsi untuk menampilkan pesan error dari MySQL, yaitu fungsimysql_errno() dan mysql_error().
Kedua fungsi ini membutuhkan 1 buah argumen yang bersifat opsional, yakni variabel hasil
pemanggilan fungsi mysql_connect(). Namun jika argumen tidak ditulis, PHP akan menggunakan
koneksi MySQL terakhir yang tersedia.

Fungsi mysql_errno() akan menampilkan nomor atau kode error MySQL, sedangkan
fungsi mysql_error() akan menampilkan penjelasan error tersebut.

Contoh Penggunaan
Fungsimysql_errno dan mysql_error

om
Sebagai contoh penggunaan kedua fungsi tersebut, silahkan jalankan kode program berikut ini:

1 <?php

.c
2 //buat koneksi dengan MySQL
3 $link=mysql_connect('localhost','root','');
om
4   
5 //jika koneksi gagal, langsung keluar dari 
6 PHP
ilk

7 if (!$link)
8 {
ia

9   die("Koneksi dengan MySQL gagal");
10 }
un

11   
12 //jalankan query
.d

13 $query="DROP DATABASE tidak_ada";
14 $result=mysql_query($query,$link);
w

15 echo "Query yang dijalankan: $query";
16 echo "<br />";
w

17 echo "Kode error: ".mysql_errno($link);
w

18 echo "<br />";
19 echo "Pesan error: ".mysql_error();
?>

30
Pada kode diatas, saya mencoba menjalankan perintah untuk menghapus database ‘tidak_ada’ yang
memang tidak tersedia di dalam MySQL. Jika kita menjalankan query tersebut tanpa bantuan
fungsi mysql_errno() danmysql_error(), maka kita tidak tahu apa pesan error dari MySQL.

Perhatikan juga bahwa pada pemanggilan fungsimysql_error() pada baris terakhir, saya tidak
memberikan argumen, karena sifatnya yang opsional.

om
.c
om
ilk
ia
un
.d
w
w
w

31
Cara Penggunaan Fungsi mysql_num_rows
Fungsi mysql_num_rows() digunakan untuk mengetahui berapa banyak jumlah baris hasil
pemanggilan fungsimysql_query(). Fungsi ini membutuhkan 1 buah argumen, yakni
variabel resources hasil dari fungsi mysql_query().

Berikut adalah contoh penggunaannya:

1 <?php
2 //buat koneksi dengan MySQL
3 $link=mysql_connect('localhost','root','');
4  
5 //jika koneksi gagal, langsung keluar dari 
6 PHP
7 if (!$link)
8 {
9    die("Koneksi dengan MySQL gagal");
10 }
11  

om
12 //gunakan database universitas
13 $result=mysql_query('USE universitas');
14 if (!$result)

.c
15 {
16    die("Database mahasiswa gagal 
om
17 digunakan");
18 }
19  
ilk

20 //jalankan query
21 $result=mysql_query("SELECT * FROM 
ia

mahasiswa_ilkom");
echo "Total mahasiswa berjumlah 
un

".mysql_num_rows($result)." orang.";
?>
.d
w

Jika kode diatas dijalankan, hasil yang didapat adalah sebagai berikut:
w

1 Total mahasiswa berjumlah 5 orang
w

Cara Penggunaan Fungsi mysql_affected_rows
Fungsi mysql_affected_rows() digunakan untuk mengetahui jumlah baris tabel yang dikenai
proses oleh query MySQL. Hasil ini biasanya diperlukan jika kita ingin mengetahui dengan lebih detail
tentang proses yang berlangsung.

Sebagai contoh, kita ingin melakukan operasi DELETEkepada sebuah tabel. Hal ini bisa dilakukan
dengan fungsimysql_query. Namun kita tidak bisa mengetahui berapa jumlah baris yang telah
dihapus.

Jika menggunakan MySQL, informasi ini ditampilkan langsung setelah query:

32
om
Untuk mengambil informasi ini dari PHP, kita menggunakan fungsi mysql_affected_rows(). Berikut
adalah contoh penggunaannya:

1 <?php
.c
om
2 //buat koneksi dengan MySQL
3 $link=mysql_connect('localhost','root','');
4  
ilk

5 //jika koneksi gagal, langsung keluar dari 
6 PHP
ia

7 if (!$link)
8    {
un

9    die("Koneksi dengan MySQL gagal");
10    }
.d

11  
12 //gunakan database universitas
w

13 $result=mysql_query('USE universitas');
14 if (!$result)
w

15 {
w

16    die("Database mahasiswa gagal 
17 digunakan");
18 }
19  
20 //jalankan query
21 $result=mysql_query("DELETE FROM 
mahasiswa_ilkom WHERE umur='23'");
echo "Data yang di hapus sebanyak: 
".mysql_affected_rows()." orang.";
?>

Dan, hasil yang ditampilkan adalah:

1 Data yang di hapus sebanyak: 2 orang.

Baik fungsi mysql_num_rows dan mysql_affected_rowssering digunakan di dalam situasi dimana
kita membutuhkan informasi terkait query MySQL yang dijalankan. Kedua fungsi ini melengkapi
fungsi­fungsi lain yang telah kita pelajari di dalam tutorial PHP MySQL ini.
33
Pada tutorial PHP MySQL selanjutnya, kita akan membahascara menampilkan tabel MySQL dengan
menggunakan objek (fungsi mysql_fetch_object).

om
.c
om
ilk
ia
un
.d
w
w
w

34
Penggunaan Objek untuk Menampilkan data MySQL
Fungsi mysql_fetch_row dan mysql_fetch_array yang telah kita pelajari sebelumnya,
menggunakan array untuk menampung hasil query MySQL. Sebagai contoh, untuk menampilkan
hasil tabel mahasiswa_ilkom dengan fungsimysql_fetch_array, kita mengaksesnya dengan cara
berikut:

1 $row['nim'], $row['nama'], $row['umur'], 
$row['tempat_lahir'], dan $row['IPK']

Dengan kata lain, nama kolom berfungsi sebagai “key” dari array $row.

Selain menggunakan array, PHP juga menyediakan fungsimysql_fetch_object jika kita ingin
mengakses hasil query menggunakan notasi objek. Nama kolom akan berfungsi
sebagai property dari objek $row. Menggunakan contoh tabel mahasiswa_ilkom ,maka cara
mengaksesnya adalah sebagai berikut:

m
1 $row‐>nim, $row‐>nama, $row‐>umur, $row‐
>tempat_lahir, dan $row‐>IPK

o
.c
Karakter tanda panah (­>) digunakan untuk mengakses property dari sebuah objek di dalam PHP.
om
Mengenai pemrograman berbasis objek di dalam PHP, duniailkom telah membuat tutorial
ilk

lengkap jika anda ingin mempelajari OOP PHP. Silahkan mengunjungi Tutorial OOP
PHP:Pemrograman Berbasis Objek dengan PHP.
ia
un

Cara Penggunaan Fungsi mysql_fetch_object
.d
w

Selain perbedaan cara akses diatas, cara penggunaan fungsi mysql_fetch_object untuk
w

menampilkan tabel MySQL, hampir sama dengan fungsi mysql_fetch_row danmysql_fetch_array.
w

Berikut adalah modifikasi kode program yang sebelumnya kita gunakan pada tutorial
mysql_fetch_array untuk menampilkan seluruh isi tabel mahasiswa_ilkom:

1 <?php
2 //buat koneksi dengan MySQL
3 $link=mysql_connect('localhost','root','');
4  
5 //jika koneksi gagal, langsung keluar dari 
6 PHP
7 if (!$link)
8 {
9    die("Koneksi dengan MySQL gagal");
10 }
11  
12 //gunakan database universitas
13 $result=mysql_query('USE universitas');
14 if (!$result)
15 {
16    die("Database mahasiswa gagal 
35
17 digunakan");
18 }
19  
20 //tampilkan tabel mahasiswa_ilkom
21 $result=mysql_query('SELECT * FROM 
22 mahasiswa_ilkom');
23 while ($row=mysql_fetch_object($result))
24 {
25    echo $row‐>nim." ".$row‐>nama." ".$row‐
26 >umur." ";
   echo $row‐>tempat_lahir." ".$row‐>IPK;
   echo "<br />";
}
?>

Jika anda telah mempelajari tutorial mysql_fetch_array di duniailkom sebelumnya, maka kode diatas
sangat mirip. Saya hanya mengubah fungsi mysql_fetch_array denganmysql_fetch_object, lalu
melakukan penyesuaian untuk pengaksesan property objek $row.

om
Pengaksesan dengan objek ini akan lebih lengkap apabila kita menggunakan
extension mysqli atau PDO. Kedua metode ini akan kita pelajari dalam tutorial terpisah nantinya.

.c
om
Menutup cara penggunaan mysql extension (sebelum kita masuk ke mysqli extension), dalam
tutorial berikutnya saya akan mencoba menkombinasikan HTML, CSS, PHP dan MySQL untuk
ilk

menampilkan data dengan tampilan yang menarik. Selanjutnya dalam Tutorial PHP MySQL: Cara
ia

Penyajian Data MySQL dalam bentuk tabel HTML dengan CSS.
un
.d
w
w
w

36
Menyajikan Data MySQL dengan Tabel HTML dan CSS
Umumnya, hasil query MySQL yang kita ambil dari database akan ditampilkan ke dalam bentuk tabel.
Dengan mengkombinasikan PHP, MySQL, HTML dan CSS, kita bisa menampilkan data tabel
MySQL dengan desain yang beragam. Dalam tutorial PHP MySQL ini, saya akan mencoba
menampilkan tabel mahasiswa_ilkom dengan tampilan akhir seperti gambar berikut:

om
.c
om
ilk
ia
un

Tampilan diatas di dapat dengan mengkombinasikan PHP, MySQL, HTML dan CSS. Dan berikut
.d

adalah kode program yang digunakan:
w

1 <?php
w

2 //buat koneksi dengan MySQL
3 $link=mysql_connect('localhost','root','');
w

4    
5 //jika koneksi gagal, langsung keluar dari 
6 PHP
7 if (!$link)
8 {
9    die("Koneksi dengan MySQL gagal");
10 }
11    
12 //gunakan database universitas
13 $result=mysql_query('USE universitas');
14 if (!$result)
15 {
16    die("Database mahasiswa gagal 
17 digunakan");
18 }
19  
20 //tampilkan tabel mahasiswa_ilkom
21 $result=mysql_query('SELECT * FROM 
22 mahasiswa_ilkom');
23 ?>
37
24 <!DOCTYPE html>
25 <head>
26    <meta charset="UTF‐8">
27    <title>Belajar PHP MySQL</title>
28    <style>
29    h3{
30       text‐align:center; }
31    table { 
32       border‐collapse:collapse;
33       border‐spacing:0;     
34       font‐family:Arial, sans‐serif;
35       font‐size:16px;
36       padding‐left:300px;
37       margin:auto; }
38    table th {
39       font‐weight:bold;
40       padding:10px;
41       color:#fff;
42       background‐color:#2A72BA;
43       border‐top:1px black solid;
44       border‐bottom:1px black solid;}

m
45    table td {
46       padding:10px;

o
47       border‐top:1px black solid;
48       border‐bottom:1px black solid;
49       text‐align:center; }         
.c
50    tr:nth‐child(even) {
m
51      background‐color: #DFEBF8; }
o
52    </style>
ilk

53 </head>
54 <body>
ia

55    <h3>Penyajian Data MySQL dalam bentuk 
56 tabel HTML dengan CSS</h3>
un

57 <table>
58 <tr>
59    <th>NIM</th>
.d

60    <th>Nama</th>
w

61    <th>Umur</th>
62    <th>Tempat Lahir</th>
w

63    <th>IPK</th>
64 </tr>
w

65 <?php
66 while ($row=mysql_fetch_array($result))
67 {
68    echo "<tr>";
69    echo "<td>".$row['nim']."</td>";
70    echo "<td>".$row['nama']."</td>";
71    echo "<td>".$row['umur']."</td>";
72    echo "<td>".$row['tempat_lahir']."
73 </td>";
74    echo "<td>".$row['IPK']."</td>";   
75    echo "</tr>";
}
?>
</table> 
</body>
</html>

Kode diatas terasa panjang, terutama karena dalam tutorial PHP MySQL sebelum ini saya tidak

38
menggunakan HTML dan CSS.

Kode PHP yang saya gunakan dari kode program diatas sama persis dengan yang ada di
dalam tutorial PHP MySQL tentang mysql_fetch_array. Akan tetapi kali ini hasilnya diletakkan di
dalam tabel HTML.

Koneksi PHP dengan MySQL dan juga fungsi mysql_query()saya letakkan sebelum kode HTML.
Hal ini umum digunakan untuk memisahkan PHP dengan HTML.

Kode CSS untuk tabel saya letakkan di bagian <head>. Kode CSS digunakan untuk
mengubah border tabel, warna backgroud, padding, dan ukuran font. Yang cukup menarik adalah
selector tr:nth­child(even). Selector CSS3 ini digunakan untuk mendapatkan efek “zebra” didalam
tabel, atau dikenal dengan “stripped table”. Fitur ini digunakan agar setiap baris tabel bisa dibaca
dengan mudah karena memiliki warna yang berbeda.

Di dalam perulangan mysql_fetch_array(), hasil dari tiapiterasi ditempatkan di dalam tag <td>,

om
sehingga langsung menyatu dengan sel tabel.

Anda bisa berkreasi dengan mengubah­ubah kode HTML atau CSS diatas untuk mendapatkan hasil
yang sesuai.
.c
om
Duniailkom telah membuat tutorial lengkap mengenai Tabel HTML, dan CSS Dasar. Jika
ilk

anda kurang memahami tentang kode HTML dan CSS yang digunakan pada tutorial kali
ini, jangan ragu untuk mempelajarinya.
ia
un
.d

Dalam tutorial PHP MySQL berikutnya, kita akan mulai membahas tentang mysqli extension di dalam
pemrograman PHP.
w
w
w

39
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, danmysql_fetch_array) memang sudah tidak disarankan
lagi, tetapi saya tetap membahasnya sebagai dasar bagi kita untuk masuk ke extension yang lebih
modern: mysqli danPDO.

Terhitung dari PHP versi 5.5, extension mysql tidak lagi disarankan penggunaannya dan
berstatus deprecated, yang berarti mungkin akan dihapus pada PHP versi berikutnya. Programmer
disarankan untuk beralih menggunakanmysqli atau PDO. Dalam tutorial kali ini kita akan
membahas mysqli terlebih dahulu.

Mysqli merupakan kependekan dari MySQL Improved Extension. Seperti yang terlihat dari

om
namanya, extension ini merupakan versi perbaikan dan penambahan dari
extension mysql sebelumnya yang umum digunakan. Extension mysqli dibuat untuk mendukung

.c
fitur­fitur terbaru dari MySQL Server versi 4.1 keatas.
om
Secara garis besar, tidak ada perbedaan mencolok antaramysql extension dengan mysqli extension.
Nama­nama fungsi didalam mysqli sebagian besar mirip dengan apa yang telah kita pelajari
ilk

(extension mysql).
ia

Sebagai contoh, untuk membuat koneksi dengan MySQL Server, di dalam mysql kita menggunakan
un

fungsimysql_connect(), sedangkan di dalam mysqli, kita menggunakan mysqli_connect(). Begitu
juga dengan fungsi lain seperti mysql_query() menjadi mysqli_query().
.d
w

Selain menambah huruf “i” di dalam nama fungsi, argumen­argumen yang dibutuhkan juga hampir
w

mirip. Perbedaannya, jika di dalam extension mysql umumnya kita meletakkan argumen resources di
akhir fungsi, maka di dalam mysqli, argumen ini diteletakkan di awal.
w

Sebagai contoh, di dalam mysql kita menulis:

1 mysql_query("SELECT * FROM 
mahasiswa_ilkom", $link)

Sedangkan di dalam mysqli penulisannya menjadi:

1 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
40
Oriented
Agar proses “migrasi” dari mysql ke mysqli tidak terlalu menyusahkan, PHP memberikan 2 alternatif
cara penulisanmysqli.

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

om
Di dalam tutorial PHP MySQL kali ini kita telah membahasperbedaan extension mysql dengan
extension mysqli yang lebih baru. Sesuai dengan instruksi dari manual MySQL, sebaiknya kita tidak
menggunakan lagi extension mysql.
.c
om
Dalam tutorial selanjutnya, kita akan mulai membahas cara penggunaan mysqli extension. Berikutnya
ilk

dalam tutorial PHP MySQL duniailkom: Cara Menampilkan Data dengan mysqli PHP menggunakan
procedural style.
ia
un
.d
w
w
w

41
Cara Membuat Koneksi MySQL Dengan Fungsi
mysqli_connect()
Untuk membuat koneksi antara PHP dengan MySQL Server, kita menggunakan
fungsi mysqli_connect(). Fungsimysqli_connect() ini membutuhkan argumen yang sama dengan
fungsi mysql_connect(), yakni: alamat host, nama user, dan password user.

Sebagai contoh, untuk masuk kedalam MySQL di localhostmenggunakan user root dan dengan
password “qwerty”, kita menggunakan kode program sebagai berikut:

1 <?php
2    $link = mysqli_connect("localhost", 
3 "root", "qwerty");
?>

Sebagai fitur tambahan, fungsi mysqli_connect() memiliki argumen ke­4 yang bersifat opsional. Kita
bisa menambahkan nama database yang ingin digunakan. Misalkan kita ingin sewaktu proses

m
koneksi dengan MySQL, langsung memilih database “universitas”, maka contoh penulisannya adalah

o
sebagai berikut:

1 <?php
.c
om
2    $link = mysqli_connect("localhost", 
3 "root", "qwerty","universitas");
?>
ilk
ia

Cara Menutup Koneksi Dengan Fungsi mysqli_close()
un

Walaupun PHP akan menutup koneksi dengan MySQL pada saat halaman selesai diproses, kita bisa
.d

menutupnya secara manual menggunakan fungsi mysqli_close(). Fungsi ini membutuhkan 1
w

argumen, yakni variabel resources hasil pemanggilan fungsi mysqli_connect().
w
w

Berikut contoh penggunaan fungsi mysqli_close():

1 <?php
2     // buat koneksi dengan MySQL
3    $link = mysqli_connect("localhost", 
4 "root", "qwerty","universitas");
5  
6     //.... proses PHP
7     //.... proses PHP
8     //.... proses PHP
9  
10     // tutup koneksi
11    mysqli_close($link);
?>

Cara Menjalankan Query MySQL Dengan Fungsi
mysqli_query()
42
Cara menjalankan query MySQL dengan mysqli extensionjuga mirip dengan mysql extension. Di
dalam mysqli, kita menggunakan fungsi mysqli_query(). Namun berbeda dengan
fungsi mysql_query() yang meletakkan variabelresources hasil mysql_connect() sebagai argumen
kedua dan bersifat opsional, di dalam fungsi mysqli_query(), variabel ini diletakkan sebagai argumen
pertama dan harus ditulis.

Sebagai contoh, dengan menggunakan mysql_extension, kita biasa menulis kode PHP sebagai
berikut:

1 <?php
2     //buat koneksi dengan MySQL
3    $link=mysql_connect('localhost','root','');
4  
5     //gunakan database universitas
6    $result=mysql_query('USE universitas');
7  
8     //tampilkan tabel mahasiswa_ilkom
9    $result=mysql_query('SELECT * FROM 
10 mahasiswa_ilkom');

om
?>

.c
Sedangkan dengan menggunakan mysqli extension, berikut adalah perubahan cara penggunaannya:
om
1 <?php
2     // buat koneksi dengan MySQL, gunakan 
ilk

3 database: universitas
4    $link = mysqli_connect("localhost", 
ia

5 "root", "", "universitas");
6  
un

7     // jalankan query
   $result = mysqli_query($link, "SELECT * 
.d

FROM mahasiswa_ilkom");
?>
w

Perhatikan bahwa kita menggunakan format:mysqli_query($link, “query_MySQL”) untuk
w

menjalankan query MySQL.
w

Cara Menampilkan Data MySQL Dengan mysqli
Untuk menampilkan hasil query MySQL, mysqli extensionmemiliki banyak fungsi. Kali ini kita akan
membahas 3 fungsi yang paling sering digunakan: mysqli_fetch_row(),
mysqli_fetch_array(), dan mysqli_fetch_object().

Ketiga fungsi ini hampir sama cara penggunaannya dengan versi mysql extension yang telah kita
bahas, yakni:mysql_fetch_row(), mysql_fetch_array(), danmysql_fetch_object(). Jika anda
perhatikan, perbedaan namanya hanya dengan menambah huruf “i”.

Langsung saja kita masuk ke contoh program, untuk memahami cara penggunaan ketiga fungsi ini.
Di dalam contoh­contoh berikut saya menggunakan tabelmahasiswa_ilkom di dalam
database universitas. Tabel ini kita buat sewaktu membahas tentang fungsi mysql_fetch_row.
43
Pertama, mari kita lihat cara menampilkan data MySQL dengan fungsi mysqli_fetch_row():

1 <?php
2 // buat koneksi dengan MySQL, gunakan 
3 database: universitas
4 $link = mysqli_connect("localhost", 
5 "root", "", "universitas");
6  
7 // jalankan query
8 $result = mysqli_query($link, "SELECT * 
9 FROM mahasiswa_ilkom");
10  
11 // tampilkan query
12 while ($row=mysqli_fetch_row($result))
13 {
14    echo "$row[0] $row[1] $row[2] $row[3] 
$row[4]";
   echo "<br />";
}
?>

om
Fungsi mysqli_fetch_row() sama persis cara penggunaanya dengan fungsi mysql_fetch_row(),
oleh karena itu saya tidak akan membahasnya lagi. Tapi jika anda ragu, bisa mengunjungi tutorialnya

.c
di Cara Menampilkan Tabel MySQL dari PHP dengan fungsi mysql_fetch_row.
m
Berikutnya, kita bahas cara menampilkan data MySQL dengan fungsi mysqli_fetch_array():
o
lk

1 <?php
2 // buat koneksi dengan MySQL, gunakan database:
ai

3 universitas
4 $link = mysqli_connect("localhost", "root", ""
i
un

5 "universitas");
6  
7 // jalankan query
.d

8 $result = mysqli_query($link, "SELECT * FROM 
9 mahasiswa_ilkom");
w

10  
w

11 // tampilkan query
12 while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC))
w

13 {
14    echo $row['nim']." ".$row['nama']." 
15 ".$row['umur']." ";
   echo $row['tempat_lahir']." ".$row['IPK'];
   echo "<br />";
}
?>

Sedikit perbedaan antara fungsi mysqli_fetch_array() dengan fungsi
“kembarannya” mysql_fetch_array(), kali ini string penentu metoda array berada pada argumen
kedua. Argumen pertama adalah variabel resources hasil pemanggilan fungsi mysqli_query().
String MYSQLI_ASSOCdigunakan agar key array dapat diakses dengan nama. String lain yang bisa
kita gunakan adalah MYSQL_NUM danMYSQL_BOTH. Perbedaan ketiganya telah kita bahas
lengkap dalam Tutorial PHP MySQL: Cara Menampilkan Tabel MySQL dari PHP dengan
mysql_fetch_array.

44
Cara ketiga yang akan kita bahas adalah dengan menggunakan fungsi mysqli_fetch_object().
Fungsi ini sama dengan fungsi mysql_fetch_object(), dimana kita mengakses hasil query sebagai
objek. Berikut adalah contoh kode PHPnya:

1 <?php
2 // buat koneksi dengan MySQL, gunakan 
3 database: universitas
4 $link = mysqli_connect("localhost", 
5 "root", "", "universitas");
6  
7 // jalankan query
8 $result = mysqli_query($link, "SELECT * 
9 FROM mahasiswa_ilkom");
10  
11 // tampilkan query
12 while ($row=mysqli_fetch_object($result))
13 {
14    echo $row‐>nim." ".$row‐>nama." ".$row‐
15 >umur." ";
   echo $row‐>tempat_lahir." ".$row‐>IPK;

om
   echo "<br />";
}
?>

.c
Jika anda butuh penjelasan mengenai cara penggunaanmysqli_fetch_object(), silahkan
om
kunjungi Tutorial PHP MySQL : Cara Menampilkan Tabel dengan objek (mysql_fetch_object).
ilk

Dalam tutorial PHP MySQL kali ini kita telah membahas tentang cara penggunaan mysqli untuk
ia

menampilkan data dari database MySQL.
un

Seperti yang pernah kita bahas, mysqli memiliki 2 cara penulisan (2 jenis style). Selain dengan cara
.d

procedural seperti dalam tutorial ini, di dalam tutorial selanjutnya kita akan membahas cara
w

penggunaan mysqli dengan object oriented style.
w
w

45
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 danpolymorfism membuat program menjadi lebih tertata.

Jika anda baru berkenalan dengan PHP atau konsep pemrograman secara umum,
pemrograman berbasis objek mungkin akan terasa membingungkan. OOP
membutuhkan alur penulisan program yang berbeda dibandingkan metode procedural
yang kita pelajari hingga saat ini.

om
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

.c
mengenai konsep OOP, di dalam Tutorial Pemrograman Berbasis Objek PHP.
om
ilk

Langsung saja kita lihat bagaimana cara penggunaan objek di dalam mysqli.
ia

Didalam tutorial ini saya berasumsi anda telah memahami sedikit tentang OOP PHP.
un

Terutama cara pemanggilan constructor (cara pembuatan objek) dan cara
pemanggilanmethod objek (menggunakan tanda panah ­>).
.d
w
w

Cara Membuat Koneksi dengan MySQL (mysqli
w

constructor)
Untuk membuat koneksi MySQL dengan PHP menggunakanmysqli object style, caranya adalah
dengan menggunakanmysqli constructor. Constructor mysqli adalah sejenis fungsi yang digunakan
untuk membuat object baru dariclass 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 localhostuntuk user “root” dengan password
“qwerty”:

1 <?php
2    $link = new mysqli("localhost", "root", 
3 "qwerty");
?>
46
Pada kode diatas, saya membuat objek $link dari classmysqli. 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 mysqlijuga memiliki argumen tambahan, yakni
nama database yang ingin digunakan. Jika kita ingin langsung mengakses database “universitas”,
maka kode programnya menjadi:

1 <?php
2    $link = new mysqli("localhost", "root", 
3 "qwerty", "universitas");
?>

Cara Menutup Koneksi MySQL Dengan Method
mysqli::close()

om
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

.c
objek mysqli, atau biasa ditulis sebagaimysqli::close(). Berikut contoh penggunaannya:
om
1 <?php
2     // buat koneksi dengan MySQL
3    $link = new mysqli("localhost", "root", 
ilk

4 "qwerty","universitas");
5  
ia

6     //.... Proses PHP
un

7     //.... Proses PHP
8     //.... Proses PHP
9  
.d

10     // tutup koneksi
11    $link‐>close();
w

?>
w
w

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:

1 <?php
2     // buat koneksi dengan MySQL, gunakan 
3 database: universitas
4    $link = new mysqli("localhost", "root", 
5 "qwerty", "universitas);
6  
7     // jalankan query

47
   $result = $link‐>query("SELECT * FROM 
mahasiswa_ilkom");
?>

Perhatikan bahwa di dalam proses pemanggilan methodquery(), kita membutuhkan 1 argumen, yakni
query MySQL yang akan dijalankan.

Cara Menampilkan Data MySQL Dengan mysqli object
style
Untuk menampilkan hasil query MySQL, mysqli objectmemiliki banyak method. Kali ini kita akan
membahas 3 cara yang paling sering digunakan, yakni methodfetch_row(),
fetch_array() dan fetch_object(). Cara penggunaan ketiga method ini hampir sama dengan padanan
fungsinya di procedural style, yakni dengan fungsimysqli_fetch_row(),
mysqli_fetch_array(), danmysqli_fetch_object().

m
Agar lebih jelas, langsung saja kita masuk ke dalam contoh kode program untuk menampilkan

o
seluruh isi data dari tabel mahasiswa_ilkom.

.c
om
Pembahasan pertama, yakni cara menampilkan data mysqli dengan method fetch_row(). Berikut
adalah contoh kode programnya:
ilk

1 <?php
2 // buat koneksi dengan MySQL, gunakan 
ia

3 database: universitas
4 $link = new mysqli("localhost", "root", 
un

5 "qwerty", "universitas");
6  
.d

7 // jalankan query
8 $result = $link‐>query("SELECT * FROM 
w

9 mahasiswa_ilkom");
10  
w

11 // tampilkan query
w

12 while ($row= $result‐>fetch_row())
13 {
14    echo "$row[0] $row[1] $row[2] $row[3] 
$row[4]";
   echo "<br />";
}
?>

Dalam contoh diatas, saya mengunakan methodfetch_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:

1 <?php
2 // buat koneksi dengan MySQL, gunakan 
3 database: universitas
48
4 $link = new mysqli("localhost", "root", 
5 "qwerty", "universitas");
6  
7 // jalankan query
8 $result = $link‐>query("SELECT * FROM 
9 mahasiswa_ilkom");
10  
11 // tampilkan query
12 while ($row=$result‐
13 >fetch_array(MYSQLI_ASSOC))
14 {
15    echo $row['nim']." ".$row['nama']." 
".$row['umur']." ";
   echo $row['tempat_lahir']." 
".$row['IPK'];
   echo "<br />";
}
?>

Sama seperti method fetch_row(), method fetch_array()juga diakses dari objek $result yang
merupakan hasil pemanggilan query.

om
Method fetch_array() membutuhkan 1 argumen, berupa string yang berisi bagaimana cara array

.c
hasil method akan diakases. String ini bisa dipilih dari salah satu nilai:MYSQL_NUM,
m
MYSQL_ASSOC atau MYSQL_BOTH. Lebih lengkap tentang perbedaan ketiga nya telah kita bahas
dalam tutorial mengenai fungsi mysql_fetch_array().
o
lk

Cara ketiga yang akan kita bahas untuk menampilkan data mysqli, adalah dengan
ai

method fetch_object(). Berikut contoh pengunaanya:
i
un

1 <?php
2 // buat koneksi dengan MySQL, gunakan 
.d

3 database: universitas
4 $link = new mysqli("localhost", "root", 
w

5 "qwerty", "universitas");
6  
w

7 // jalankan query
w

8 $result = $link‐>query("SELECT * FROM 
9 mahasiswa_ilkom");
10  
11 // tampilkan query
12 while ($row=$result‐>fetch_object())
13 {
14    echo $row‐>nim." ".$row‐>nama." ".$row‐
15 >umur." ";
   echo $row‐>tempat_lahir." ".$row‐>IPK;
   echo "<br />";
}
?>

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

49
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.

om
.c
om
ilk
ia
un
.d
w
w
w

50

Anda mungkin juga menyukai