Anda di halaman 1dari 24

PHP + MySQL

Apa Itu MySQL


MySQL adalah salah satu jenis database, tempat
meletakkan data secara terstruktur berupa tabel-tabel
dan kita bisa melakukan query atau mengolah data
tersebut dengan SQL (Structured Query Languange)
Koneksi ke MySQL Melalui PHP
Untuk melakukan koneksi ke MySQL kita menggunakan fungsi mysql_connect()
Sintaks :

mysql_connect(host, username, password)

Contoh :
<?php
$koneksi = mysql_connect("localhost","root","");
if($koneksi){ echo "Koneksi berhasil"; }
else{ echo "Gagal"; }
?>

Jika anda telah berhasil koneksi ke MySQL, anda bisa melakukan apapun terhadap
database tersebut tergantung hak-hak anda, anda bisa buat database, buat tabel dan
melakukan query
Cara Membuat Database di MySQL
Cara Membuat Tabel
Membuat Tabel Melalui PHP dan Query
Selain melalui phpmyadmin, kita juga bisa membuat tabel langsung melalui PHP, dimana
kita mengeksekusi query CREATE TABLE,

contoh :
<?php mysql_connect("localhost","root",""); //koneksi ke MySQL
mysql_select_db("databaseku"); //Pilih database
$query = "CREATE TABLE datakaryawan( karyawanid int(5)
auto_increment primary key, nama varchar(30), tgl_lahir
date, kelamin varchar(10), alamat tinytext )";
$buat = mysql_query($query); //jalankan query
if($buat){ echo "Tabel datakaryawan berhasil dibuat"; }
Else
{ echo "Gagal"; }
?>
Manipulasi Tabel MySQL
1. Cara Insert ke Tabel MySQL
2. Cara Menampilkan Rows Tabel MySQL
3. Cara Delete Rows Tabel MySQL
4. Cara Update Tabel MySQL
5. mysql_num_rows - Menghitung jumlah baris dari query
yang dihasilkan
6. Contoh Buku Tamu
Cara Insert ke Tabel MySQL
forminput.html
<html>
<head> <title>Input data</title> </head>
<body> <h2>Input Data Karyawan</h2>
<form action="inputdata.php" method="post"> Nama : <br>
<input type="text" name="nama"><p> Tanggal Lahir :<br>
<input type="text" name="tgl">Format yyyy-mm-dd<p> Jenis Kelamin
:<br>
<select name="kelamin">
<option>Laki-laki</option>
<option>Perempuan</option> </select>
<p> Alamat :<br> <textarea cols="30" rows="5"
name="alamat"></textarea>
<p> <input type="submit">
</form>
</body> Kode di atas adalah kode HTML untuk membuat form inputan, yang
</html> nantinya akan kita masukkan ke database.
Pada tag <form action="inputdata.php" method="post">,
action berarti kode PHP yang akan memproses inputan jika diklik tombol
submit. Methode yang digunakan adalah POST. Secara umum ada 2
metode pengiriman data ke server, yaitu POST dan GET. Bedanya jika
metode GET, parameter akan ditampilkan di URL.
Query INSERT
Query INSERT adalah perintah SQL untuk memasukkan data ke tabel di database
MySQL

Sintaks SQL :
INSERT INTO nama_tabel [(col_name,...)] VALUES(nilai1,
nilai2,...)

Contoh :
INSERT INTO datakaryawan VALUES(null,'Desrizal','1981-
12-13','Laki-laki','Jl. raya No. 12, Pekanbaru')

Kode di atas adalah SQL, cara menjalankannya melalui PHP adalah dengan
menggunakan fungsi mysql_query().
inputdata.php
<?php
mysql_connect("localhost","root","");
mysql_select_db("databaseku");
$nama = htmlspecialchars($_POST['nama']);
$tgl = htmlspecialchars($_POST['tgl']);
$kelamin = htmlspecialchars($_POST['kelamin']);
$alamat = htmlspecialchars($_POST['alamat']);
$masuk = mysql_query("INSERT INTO datakaryawan
VALUES(null, '$nama','$tgl','$kelamin','$alamat')");
if($masuk)
{ echo "Data berhasil diinput"; }else{ echo "Gagal"; }
?>

•Untuk mengambil data dari form HTML dengan metode POST adalah $_POST['namafield']
•Untuk mengambil data dari form HTML dengan metode GET adalah $_GET['namafield']
•htmlspecialchars() berguna untuk mengubah kode HTML < dan >
menjadi &lt; dan &gt; gunanya untuk keamanan, jika ada user yang nakal mengetikkan kode HTML
yang merusak penampilan web kita.
•null artinya tidak ada nilai, karena pada saat kita buat create tabel datakaryawan,
field karyawanid diset auto_incerement, artinya akan otomatis berisi nilai integer yang berurut
Cara Menampilkan Rows Tabel MySQL
Setelah kita belajar bagaimana menginput data dari form ke tabel di database mysql,
sekarang kita belajar mengambil data dari tabel di MySQL. Langkah-langkahnya
adalah sebagai berikut :

1.Koneksi ke database MySQL, gunakan fungsi mysql_connect()


2.Pilih database, gunakan fungsi mysql_select_db()
3.Lakukan query SELECT, gunakan fungsi mysql_query()

Sintaks SQL :
SELECT nama_field FROM nama_tabel
Contoh :
SELECT nama, tgl_lahir FROM datakaryawan
Atau, jika ingin memilih seluruh field, gunakan tanda bintang (*)
SELECT * FROM datakaryawan

4.Masukkan hasil query ke dalam array,


gunakan fungsi mysql_fetch_array()

5.Print data dari array, gunakan fungsi echo


tampil.php
<?php
mysql_connect("localhost","root","");
mysql_select_db("databaseku");
$ambildata = mysql_query("SELECT * FROM datakaryawan");

while($data = mysql_fetch_array($ambildata))
{ echo "<a href=detail.php?no=".$data['karyawanid'].">".$data['nama']."</a> | ";
echo "<a href=delete.php?no=".$data['karyawanid'].">delete</a><br>";
} ?>
Cara Delete Rows Tabel MySQL
Untuk mendelete data yang ada di database adalah dengan cara
melakukan query DELETE

Sintaks SQL:
DELETE FROM nama_tabel WHERE namafield=kondisi
Contoh :
DELETE FROM datakaryawan WHERE karyawanid=2

Pada contoh tampil di atas, jika anda jalankan akan ada link delete,
yang kalau diklik akan mengarah file delete php, misal :
delete.php?no=1
delete.php
<?php
mysql_connect("localhost","root","");
mysql_select_db("databaseku");
$nomor = $_GET['no'];
$del = mysql_query("DELETE FROM datakaryawan
WHERE karyawanid=$nomor");
if($del){ echo "Data berhasil di delete";
}else{ echo "Gagal";
}
?>
Cara Update Tabel MySQL

Untuk melakukan update database mysql kita harus melakukan


query UPDATE

Sintaks SQL :

UPDATE nama_tabel SET nama_field=nilai,


nama_field2=nilai2,... WHERE
nama_field=kondisi

Contoh :

UPDATE datakarayawan SET nama='Desrizal',


alamat='Tembagapura' WHERE karyawanid=1
Buat form untuk Update, detail.php
<form action="update.php" method="post">
<?php mysql_connect("localhost","root","");
mysql_select_db("databaseku");
$nomor = $_GET['no'];
$data = mysql_query("SELECT * FROM datakaryawan
WHERE karyawanid=$nomor");
while($d = mysql_fetch_array($data))
{ echo "Karyawan id : ".$d['karyawanid']."<p>";
echo "<input type=\"hidden\" name=\"id\"
value=\"".$d['karyawanid']."\">";
echo "Nama :<br>";
echo "<input type=\"text\" name=nama
value=\"".$d['nama']."\"><p>";
echo "Jenis Kelamin :<br>";
echo "<select name=kelamin>";
if($d['kelamin']=="Laki-laki"){
echo "<option selected>Laki-laki</option>
<option>Perempuan</option>\n";
}else{
echo "<option>Laki-laki</option>
<option selected>Perempuan</option>\n"; }
echo "</select><p>";
echo "Alamat :<br>";
echo "<textarea

name=alamat>".$d['alamat']."</textarea><p>";
} ?>
<input type=submit value=update>
</form>
Jika form pada kode diatas diklik, maka akan menjalankan file update.php

<?php
mysql_connect("localhost","root","");
mysql_select_db("databaseku");
$id = htmlspecialchars($_POST['id']);
$nama = htmlspecialchars($_POST['nama']);
$kelamin = htmlspecialchars($_POST['kelamin']);
$alamat = htmlspecialchars($_POST['alamat']);
$update = mysql_query("UPDATE datakaryawan SET
nama='$nama', kelamin='$kelamin', alamat='$kelamin'
WHERE karyawanid=$id");

if($update){ echo "Data berhasil diupdate"; }else{


echo "gagal"; } ?>
mysql_num_rows
Fungsi : Menghitung jumlah baris dari query yang dihasilkan

Sintaks :
mysql_num_rows ( resource $result )
Parameter :
$result, hasil dari query yang sudah dijalankan.

Contoh :
<?php
mysql_connect("localhost","root",""); /
mysql_select_db("databaseku");
$query = mysql_query("SELECT * FROM datakaryawan WHERE
kelamin='Perempuan'");
$jumlah = mysql_num_rows($query);
echo "Jumlah karyawan Perempuan adalah : $jumlah
orang";
?>
Contoh Buku Tamu
Sekarang mari kita lihat contoh lainnya, yaitu buku tamu.

Struktur tabel bukutamu di MySQL

CREATE TABLE `bukutamu`


( `nomor` int(10) NOT NULL auto_increment, `nama`
varchar(50) NOT NULL, `email` varchar(50) NOT NULL,
`waktu` varchar(30) NOT NULL, `komentar` text NOT NULL,
PRIMARY KEY (`nomor`) )
bukutamu.php

<html>
<head><title>Buku Tamu</title></head>
<body>
<font face=arial size=2>
<h2>Buku Tamu</h2>
<form action="isibukutamu.php" method="post">
Nama:<br> <input type="text" name="nama">
<p> Email:<br> <input type="text" name="email">
<p> Komentar:<br> <textarea name="komentar" cols=40
rows=10></textarea>
<p><input type="submit" value="Kirim"> </form>
<hr>
bukutamu.php (lanjutan)

<!---kode PHP untuk menampilkan bukutamu------->


<?php mysql_connect("localhost","root","");
mysql_select_db("databaseku");
$data = mysql_query("SELECT * FROM bukutamu ORDER
BY nomor DESC"); $w = 1;
while($d=mysql_fetch_array($data))
{ //buat warna selang-seling
if($w == 1){ $warna = "#ffffff"; $w = 0;}
else{$warna = "#efefef"; $w = 1; }
echo "<div style=\"background-
color:$warna;padding:5\">";
echo "Nama : ".$d['nama']."<br>";
echo "Email : ".$d['email']."<br>";
echo "<font size=1>Waktu :
".$d['waktu']."</font><br>";
echo "<b>Komentar :</b><br>".$d['komentar'];
echo "</div><p>\n"; }
?> </font> </body> </html>
isibukutamu.php

<?php
mysql_connect("localhost","root","");
mysql_select_db("databaseku");
$nama = htmlspecialchars($_POST['nama']);
$email = htmlspecialchars($_POST['email']);
$komentar = htmlspecialchars($_POST['komentar']);
$waktu = date("H:i d M Y");
//jika user tekan enter atau barisbaru, kasih tag <br>
$komentar = nl2br($komentar);
$isi = mysql_query("INSERT INTO bukutamu
VALUES(null,'$nama','$email','$waktu','$komentar')");

if($isi){ header("location:bukutamu.php"); }else{ echo


"Gagal"; }
?>