Dasar PHP-MySQL oleh : Prasaja Wikanta prasaja@students.itb.ac.id antok@hotmail.com Tools yang anda butuhkan :! Teks editor! Web server yang mendukung PHP dan MySQL! Browser Basic Untuk memperoleh variabel environment, bisa mengambil fungsi phpinfo(). Cara ini biasa dipakai untuk mengetes apakah web server-nya mendukung PHP. phpinfo(); Tiap program php akan selalu diawali. Program ini bisa diletakkan di mana saja, di dalam kode html kita. Untuk membuat database, lebih baik buat file text dulu, kemudian dimasukkan ke MySQL. Jadi kalau ada salah tinggal ngedit-ngedit text-nya, tidak perlu menulis ulang di SQL-nya. create table daftar (no tinyint(4) NOT NULL auto_increment, nama varchar(40), alamat varchar(100), email varchar(30), primary key (no), unique id (no)); insert into daftar values (1,'Prasaja Wikanta','Wisma Unibraw 29','antok@hotmail.com'); insert into daftar values (2,'Celeng Panggang','Jl. Melati 2','celeng@kurusetra.com'); insert into daftar values (3,'Ayam Goreng','Jl. Ayam 45','ayam@ikabhasu.org'); Kemudian masukkan perintah ini di prompt : mysqladmin uroot -proot create data mysql uroot -proot data < data.txt
Koneksi Database Perintah uroot dan proot adalah untuk menunjukkan bahwa usernya adalah : root dan passwordnya : root. Dan jadilah databasenya. Dengan php kita bisa mengambil data tersebut dan ditampilkan di web. $db = mysql_connect( localhost, root ); mysql_select_db( data,$db); $hasil = mysql_query( select * from daftar,$db); printf( nama : %s<br>\n, mysql_result($hasil,1, nama )); printf( alamat : %s<br>\n, mysql_result($hasil,1, alamat )); printf( email : %s<br>\n, mysql_result($hasil,1, email )); Fungsi mysql_connect adalah untuk membuka hubungan dengan server MySQL. Isinya adalah lokasi server, user dan password. Dengan mysql_select_db, kita akan memilih database yang dipakai. Fungsi mysql_query untuk mengirim query ke database. Fungsi mysql_result mengambil isi data dari hasil query. Untuk menampilkan database dalam bentuk tabel kita bisa pakai fungsi mysql_fetch_row. <table> $db = mysql_connect( localhost, root ); mysql_select_db( data,$db); $hasil = mysql_query( select * from daftar,$db); if ($baris = mysql_fetch_row($hasil)) do printf ( <tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td>\n, $baris[0],$baris[1],$baris[2],$baris[3]); while ($baris = mysql_fetch_row($hasil)); else echo <tr><td>tidak ada data</td></tr>\n ; </table>
Apabila tidak ingin memakai angka (i.e : $baris[1]) maka ganti fungsinya dengan mysql_fetch_array (i.e : $baris[ alamat ]). $db = mysql_connect("localhost","root"); mysql_select_db("data",$db); if ($no) $hasil = mysql_query("select * from daftar where no=$no",$db); $baris = mysql_fetch_array($hasil); printf("alamatnya %s<br>\n",$baris["alamat"]); else $hasil = mysql_query("select * from daftar",$db); if ($baris = mysql_fetch_row($hasil)) do printf ("<a href=\"%s?no=%s\">%s</a><br>\n",$php_self,$baris[0], $baris[1]); while ($baris = mysql_fetch_row($hasil)); else echo "<tr><td>tidak ada data</td></tr>\n"; Sekarang kita akan mencoba dengan memakai form. Sebenarnya contoh di atas ini sudah memakai form, hanya tidak eksplisit ditulis, methodnya GET. if ($submit) $db = mysql_connect( localhost, root ); mysql_select_db( data,$db); $query = insert into daftar (nama,alamat,email) values ( $nama, $alamat, $email ) ; $hasil = mysql_query($query); echo terimakasih<br>\n ; else <form method= post action= echo $PHP_SELF > nama : <input type= text name= nama ><br> alamat : <input type= text name= alamat ><br> email : <input type= text name= email ><br> <input type= submit name= submit value= kirim ><input type= reset value= reset > </form> <?
Bagaimana kalau mengganti data yang sudah ada? $db = mysql_connect("localhost","root"); mysql_select_db("data",$db); if ($no) if ($submit) $sql = "update daftar set nama='$nama',alamat='$alamat','email='$email' where no='$no'"; $hasil = mysql_query($sql); echo "terimakasih<br>\n"; else $hasil = mysql_query("select * from daftar where no=$no",$db); $baris = mysql_fetch_array($hasil); <form method="post" action="<? echo $PHP_SELF"> <input type="hidden" name="no" value="<?echo $baris["no"]"> Nama : <input type="text" name="nama" value="<?echo $baris["nama"]"><br> Alamat : <input type="text" name="alamat" value="<?echo $baris["alamat"]"><br> Email : <input type="text" name="email" value="<?echo $baris["email"]"><br> <input type="submit" name="submit" value="ganti"><input type="reset" value="reset"> </form> <? else $hasil = mysql_query("select * from daftar",$db); if ($baris = mysql_fetch_row($hasil)) do printf ("<a href=\"%s?no=%s\">%s</a><br>\n",$php_self,$baris[0], $baris[1]); while ($baris = mysql_fetch_row($hasil)); else echo "<tr><td>tidak ada data</td></tr>\n"; Jadi kita sudah bisa membaca, menambah dan mengubah isi database. Kalau ingin menghapus silahkan pake query : delete from daftar where no=$no. Pada php ada include, fungsinya untuk mengurangi pengetikan yang berulangulang. Kita bisa meng-include file yang sama pada program-program php yang lain.
include ( file.php3 ); Untuk mengecek kalau form yang dikirim user ada isinya, kita bisa memakai metode ini : if ($submit) if (!$nama!$alamat!$email) echo "semua field harus ada isinya<br>\n"; else echo "terimakasih<br>\n"; else <form method="post" action="<? echo $PHP_SELF"> Nama : <input type="text" name="nama"><br> Alamat : <input type="text" name="alamat"><br> Email : <input type="text" name="email"><br> <input type="submit" name="submit" value="kirim"><br> </form> <? PHP menyediakan sebuah sub program atau fungsi. function tambah($pertama,$kedua) $ketiga = $pertama + $kedua; return $ketiga; echo tambah(3,6);
Object Oriented Programming Supaya pemrograman kita lebih sederhana, maka kita bisa membuat object. $db_host = "localhost"; $db_user = "root"; $db_pass = ""; $db_name = "data"; class Database function query($squery) global $db_host,$db_user,$db_pass,$db_name; if (!$link = @mysql_connect($db_host, $db_user, $db_pass)) $result = 0; print("<br><b>tidak bisa koneksi ke $db_host!</b><br>"); else if (!@mysql_select_db($db_name, $link)) $result = 0; print("<br><b>tidak ada database $db_name<br></b><br>\n"); else if (!$result = @mysql_query($squery, $link)) $result = 0; print("<br><b>query tidak jalan!</b><br>"); return $result; Save sebagai database.inc. Kemudian untuk mengaksesnya pakai : include "database.inc"; $data = new Database; $hasil = $data->query("select * from daftar"); printf("nama : %s<br>\n", mysql_result($hasil,1,"nama")); printf("alamat : %s<br>\n", mysql_result($hasil,1,"alamat")); printf("email : %s<br>\n", mysql_result($hasil,1,"email"));
Cookie Untuk menyimpan informasi mengenai user, kita bisa meletakkan cookie di komputer user. Cookie otomatis dikirim sebagai variabel ke server kita tiap kali user mengakses server kita. (maaf, belum selesai, kalo ada waktu akan kuteruskan, kalo tidak ada waktu, terusin sendiri yach ")