Anda di halaman 1dari 7

KONEKSI PHP -MySQL

PHP juga memiliki kemampuan untuk memanfaatkan database dalam aplikasi-


aplikasinya. Artinya PHP dapat menjadi interface antara pengguna dengan database yang
dimilikinya. Dengan demikian pengguna tidak perlu mengakses langsung ke database
untuk melakukan suatu perubahan.

Kita akan mencobanya tahap demi tahap.

Mengakses Database

Agar dapat menggunakan database, tentunya pertama kali akan dibangun sebuah akses
pada database yang diinginkan. Dalam file akses.php3, coba ketikkan:
<?PHP
$connect = mysql_connect("localhost","root","php");
mysql_select_db("coba");
if (mysql_errno()) {
echo mysql_errno().": ".mysql_error()."\n";
exit;
}
mysql_close($connect);
?>

Kemudian, coba jalankan file akses.php3 tersebut. Jika file ini berhasil melakukan akses
ke database coba, maka pada layar tidak akan tampak pesan apapun. Kita akan
memahaminya baris demi baris.
$connect = mysql_connect("localhost","root","php");

Baris ini merupakan kunci untuk membuka koneksi dengan database. 'localhost'
menunjukkan host dimana database tersebut berada. 'root' merupakan login user yang
digunakan untuk masuk ke database. 'php' merupakan password dari user 'root' dalam
contoh di atas. Bagian password ini dapat dikosongkan jika login user bersangkutan tidak
memiliki password. Sedangkan '$connect' merupakan variabel yang berisi perintah
'mysql_connect( … )' tersebut. Variabel ini akan digunakan untuk mengakses server
database seperti untuk melakukan query, dan juga untuk menutup koneksi nantinya.
mysql_select_db("coba");

Baris ini akan memilih database yang akan digunakan. Baris ini setara dengan:
use coba;

jika berada di prompt MySQL.


Baris-baris berikutnya merupakan error trap. Jika saja terjadi kesalahan, misalnya
ternyata database coba tidak ada, maka error tersebut akan ditampilkan pada browser,
lengkap dengan penjelasan mengenai kesalahan yang terjadi tersebut.
mysql_close($connect);

Baris terakhir ini akan melakukan pemutusan koneksi ke database.

Dengan selesainya pembahasan ini, maka berarti Anda telah dapat melakukan
pengaksesan database melalui PHP. Kita akan memasuki tahap berikutnya.

Memasukkan Data Ke Dalam Database

Sebelum menyinggung mengenai PHP-nya, Anda dapat membuat terlebih dahulu


tabelnya pada MySQL (meskipun dapat pula dibuat dengan menggunakan PHP). Pada
prompt MySQL, ketikkan perintah berikut:
create table coba(angka int);

Perintah ini akan membuat tabel bernama coba dengan satu kolom bernama angka.

Kemudian kita akan membuat sebuah file, katakanlah bernama masukkan.php3, dengan
isi sebagai berikut:
<?PHP
$connect = mysql_connect("localhost","root","php");
mysql_select_db("coba");
if (mysql_errno()) {
echo mysql_errno().": ".mysql_error()."\n";
exit;
}
mysql_query("insert into coba values(10)");
mysql_close($connect);
?>

Pada file ini, yang menjadi kuncinya adalah baris perintah:


mysql_query("insert into coba values(10)");

Perintah ini akan memasukkan nilai "10" pada tabel coba. Untuk memastikan bahwa
proses memasukkan data tadi berhasil, kita dapat melihatnya langsung melalui MySQL.
select * from coba;

Melihat (Dan Mengambil) Data Dari Database

Untuk membahas hal ini, kita akan mencoba melanjutkan dari contoh sebelumnya. Kita
akan mencoba "mengambil" nilai "10" yang tadi telah kita masukkan ke dalam database.
Kita akan membuat file lihat.php3 dengan isi:
<?PHP
$connect = mysql_connect("localhost","root","php");
mysql_select_db("coba");
if (mysql_errno()) {
echo mysql_errno().": ".mysql_error()."\n";
exit;
}
$result=mysql_query("select angka from coba");
$hasil=mysql_fetch_row($result);
echo $hasil[0];
mysql_close($connect);
?>

Anda akan melihat bahwa ada tiga baris perintah yang "baru". Kita akan memahaminya
satu per satu.
$result=mysql_query("select angka from coba");

Baris perintah ini akan mengambil data yang kita inginkan (seluruh field angka dari tabel
coba), dan memasukkannya ke dalam variabel $result. $result ini tidak dapat ditampilkan
secara langsung, karena di dalam satu variabel ini, semua field (dengan bermacam tipe
data yang ada) bercampur menjadi satu. Kita dapat "mengambil" data yang kita inginkan
itu dengan banyak cara, salah satunya adalah dengan:
$hasil=mysql_fetch_row($result);

Dengan baris perintah ini, $result yang pada mulanya bercampur-campur isinya (dapat
kita bayangkan bahwa isi dari $result ini adalah sebuah tabel) akan diambil satu baris
(record). Sedangkan $hasil sendiri sebetulnya adalah sebuah array, dimana elemen-
elemennya berisi satu sel (data dari sebuah field dan sebuah record).

Karena data yang kita ambil tadi hanya berisi satu field, maka dengan:
echo $hasil[0];

saja sudah cukup bagi kita untuk menampilkan hasil yang kita inginkan.

Lalu, bagaimana jika data yang akan kita tampilkan lebih dari satu baris - yang berarti
lebih dari satu record? Maka file lihat.php3 akan menjadi:
<?PHP
$connect = mysql_connect("localhost","root","php");
mysql_select_db("coba");
if (mysql_errno()) {
echo mysql_errno().": ".mysql_error()."\n";
exit;
}
$result=mysql_query("select angka from coba");
while($hasil=mysql_fetch_row($result)) {echo $hasil[0];}
mysql_close($connect);
?>

Kita dapat melihat bahwa terdapat sedikit tambahan, yaitu pada:


while($hasil=mysql_fetch_row($result)) {echo $hasil[0];}

Baris perintah ini akan mengerjakan 'mysql_fetch_row' hingga keseluruhan baris/record


selesai diproses.

Cara lain yang dapat digunakan untuk “mengambil” data tersebut adalah menggunakan :
mysql_fetch_array($result)
mysql_fetch_object($result)

Dengan menggunakan mysql_fetch_array(), maka variabel yang menampungnya


(misalnya $hasil) akan merupakan sebuah array, yang berisi semua elemen-elemen yang
diminta dalam query. Kita bisa mengakses elemen/field tertentu dari variabel $hasil itu
dengan menambahkan parameter, yaitu nama field yang diinginkan. Misalnya untuk
mengakses field angka, dapat digunakan sintaks: $hasil[“angka”]. Sebetulnya cara ini
mirip dengan mysql_fetch_row().

Dengan menggunakan mysql_fetch_object(), maka variabel penampungnya akan


menjadi sebuah obyek (sebuah instans dari kelas). Dimana fiel-field yang ada akan
menjadi atribut dari obyek ini. Cara mengaksesnya juga cukup mudah, dan mirip dengan
cara kita mengakses atribut dari kelas dalam bahasa C, yaitu memakai operator ->.
Misalnya untuk mengakses field angka, dapat digunakan sintaks: $hasil->angka.

Contoh Aplikasi

Semua teori di atas hanyalah potongan-potongan yang dapat digunakan untuk menyusun
sebuah aplikasi yang lengkap. Oleh karena itu, dalam bagian ini akan dicoba dibuat
sebuah aplikasi sederhana yang menggabungkan PHP3, HTML, dan MySQL.

Contoh aplikasi ini berupa sebuah model polling on-line. Pengguna akan diminta untuk
memasukkan data dari pilihan yang tersedia. Setelah itu, setiap kali seorang pengguna
selesai memasukkan data, maka akan langsung muncul pula persentase hasil isian
kumulatif yang telah ada (termasuk yang baru saja dimasukkan).
Pertama kali, kita akan membuat tabel dalam database bernama 'modul' pada MySQL.
Pada prompt MySQL dapat diketikkan sebagai berikut:
CREATE TABLE modul (data varchar(10));

Dengan mengetikkan baris di atas, maka dalam database akan terbentuk sebuah tabel
bernama 'modul' dengan satu field yaitu 'data'.

Setelah itu, kita akan membuat file modul.php3 dengan isi sebagai berikut:
<?
echo "Tentukan pilihan dari tiga pilihan yang tersedia:<p>";
echo "<form method=post action='tampil.php3'>";
echo "<input type=radio name=nilai value='Satu'>Satu<br>";
echo "<input type=radio name=nilai value='Dua'>Dua<br>";
echo "<input type=radio name=nilai value='Tiga'>Tiga<br>";
echo "<input type=submit value=Kirim><br>";
echo "</form>";
?>

File modul.php3 ini sangat sederhana, ia hanya akan menampilkan 3 buah radio button
dengan isian Satu, Dua, dan Tiga. Melalui file ini, pengguna dapat memasukkan data
yang dipilihnya. Data dari file ini akan dikirimkan ke file tampil.php3.

Berikut ini adalah isi dari file tampil.php3


<?
$connect = mysql_connect("localhost","root","");
mysql_select_db("modul",$connect);

mysql_query("insert into modul values('$nilai')");

$baris=mysql_query("select count(*) from modul");


$jumlah=mysql_fetch_row($baris);
$baris=$jumlah[0];

$isian=array("Satu","Dua","Tiga");

echo "Hasil isian yang sudah ada:<p><table>";


for ($i=0;$i<count($isian);$i++) {
$result=mysql_query("
select count(*) from modul where data='$isian[$i]'
");
$hasil=mysql_fetch_row($result);
$besar=$hasil[0];
$persen=$besar*100/$baris;
$gambar=$persen*2;
echo "<tr><td>".$isian[$i]."</td><td>";
printf ("%6.2f",$persen);
echo " %</td><td><img src='statbar".$i.".gif' height='5'
width='$gambar'></td></tr>";
}

echo "</table>";
?>

Kita akan memahaminya per bagian.


$connect = mysql_connect("localhost","root","");
mysql_select_db("modul",$connect);

Bagian ini akan melakukan koneksi ke database 'modul'.


mysql_query("insert into modul values('$nilai')");

Kemudian bagian ini akan memasukkan data yang dipilih oleh pengguna. Data ini
dikirimkan oleh file modul.php3. Data ini dikirimkan dalam wujud sebuah variabel, yaitu
'$nilai'. Pada baris perintah di atas, isi dari variabel $nilai ini dimasukkan ke dalam tabel
modul.
$baris=mysql_query("select count(*) from modul");
$jumlah=mysql_fetch_row($baris);
$baris=$jumlah[0];

Pada bagian ini, akan diambil dari MySQL data mengenai jumlah seluruh data yang telah
dimasukkan. Data ini disimpan dalam variabel $baris.
$isian=array("Satu","Dua","Tiga");

Baris perintah ini akan membentuk sebuah array $isian dengan elemen-elemen: Satu,
Dua, dan Tiga.
echo "Hasil isian yang sudah ada:<p><table>";
for ($i=0;$i<count($isian);$i++) {
$result=mysql_query("
select count(*) from modul where data='$isian[$i]'
");
$hasil=mysql_fetch_row($result);
$besar=$hasil[0];
$persen=$besar*100/$baris;
$gambar=$persen*2;
echo "<tr><td>".$isian[$i]."</td><td>";
printf ("%6.2f",$persen);
echo " %</td><td><img src='statbar".$i.".gif' height='5'
width='$gambar'></td></tr>";
}

Pada bagian ini, terjadi sebuah looping, dengan bagian yang di-loop yaitu bagian yang
berada di dalam kurung "{}" sesudah for …. Looping dilakukan sebanyak jumlah elemen
array $isian, dalam hal ini tiga (3).

Pada setiap kali perulangan, yang dilakukan adalah:

1. Mengambil jumlah data dari tabel 'modul' yang sesuai dengan elemen array.

Misalnya: Pada looping pertama, dihitung jumlah data 'Satu' yang ada dalam tabel
'modul', dan seterusnya.

2. Menghitung persentase data tersebut di atas jika dibandingkan dengan keseluruhan


data.

3. Menampilkan angka persentase berikut grafiknya.

Demikian penjelasan mengenai contoh aplikasi yang disajikan. Contoh aplikasi tersebut
akan mudah dipahami setelah dicoba bersama.

Anda mungkin juga menyukai