Hampir tidak ada aplikasi web zaman sekarang ini yang tidak memerlukan database untuk menyimpan data, baik data artikel, data produk, data penjualan, data user, dan lain-lain. Oleh karena itu diperlukan fungsi untuk mengakses dan memanipulasi data yang terdapat di database. PHP memiliki fungsi yang lebih dari cukup untuk memanipulasi data yang ada di dalam database, seperti yang akan dbahas pada tutorial kali ini. Membuat KoneksiSebelum kita bisa memanipulasi (menambah, mengubah, menghapus, dll) data pada database MySQL, kita harus membuat koneksi terlebih dahulu dari PHP ke Server MySQL lalu memilih database yang akan dimanipulasi. PHP telah menyediakan fungsi untuk membuat koneksi dan memilih database, yaitu: mysql_connect dan mysql_select_db. Contoh: <?php mysql_connect('localhost','root',''); mysql_select_db('nama_database'); /*'localhost' adalah nama host, 'root' adalah nama user, dan '' ( kosong ) adalah password MySQL */ ?>Melakukan QuerySetelah terhubung ke database, baru kita bisa melakukan query (INSERT, UPDATE, DELETE, CREATE, ALTER, dll) ke MySQL. Untuk melakukan query ke MySQL, perintah yang digunakan adalah mysql_query(‘perintah_sql’). Pada modul ini diasumsikan Anda telah mengetahui perintah-perintah dasar SQL. Contoh: <?php mysql_connect('localhost','root',''); mysql_select_db('nama_database'); mysql_query('SELECT * FROM nama_tabel'); ?>Mengambil DataUntuk mengambil data hasil dari query SELECT, bisa menggunakan perintah mysql_fetch_row, mysql_fetch_assoc, ataupun mysql_fetch_array. Perbedaannya adalah:
Contoh: Pada contoh diatas, dengan mysql _fetch_row hasilnya berupa array $deretan yang mempunyai indeks angka ($deretan[0],$deretan[1]). Dengan mysql_fetch_assoc, hasilnya berupa array $deretan yang mempunyai indeks asosiatif yang berupa nama field dari tabel. Menambah dataUntuk menambah data ke tabel, query yang digunakan adalah INSERT INTO. Contoh: <?php mysql_connect('localhost','root',''); mysql_select_db('nama_database'); mysql_query("INSER INTO nama_tabel(field1,field2,field3) VALUES ('Agus',123,'Pria')"); ?>Menghapus dataUntuk menghapus data perintah sql yang digunakan adalah DELETE FROM Contoh: <?php mysql_connect('localhost','root',''); mysql_select_db('nama_database'); mysql_query("DELETE FROM nama_tabel WHERE nama='Agus'"); ?>Perintah diatas akan menghapus semua data yang nama nya ‘Agus’ dari tabel ‘nama_tabel’. Mengubah dataUntuk mengubah data perintah sql yang digunakan adalah UPDATE Contoh: <?php mysql_connect('localhost','root',''); mysql_select_db('nama_database'); mysql_query("UPDATE nama_tabel SET nama='Agus' WHERE nama= 'Aguk' "); ?>Perintah diatas akan mengubah semua data yang namanya ‘Aguk’ menjadi ‘Agus’ Latihan/PraktikumPada latihan/praktikum kali ini akan dipraktekan bagaimana PHP bisa memanipulasi data (menambah data, menghapus, mengubah, dll) pada database MySQL. Sebelum memanipulasi data, kita harus membuat database dan tabel yang diperlukan, yaitu database blogku dan tabel tulisan dengan kamus data sbb:
Kamus data tabel tulisan Tabel tersebut adalah tabel untuk menyimpan data tulisan yang akan dimanipulasi oleh PHP. Lalu setelah itu kita akan membuat file-file PHP yang akan memanipulasi data tersebut. Tetapi sebaiknya dibuat folder terlebih dahulu khusus untuk modul ini, yaitu folder ‘blogku’ pada webserver Anda (wamp\www\ atau xampp\htdocs\) sehingga untuk mengakses file-file tersebut digunakan perintah http://localhost/blogku/namafile.php pada browser. Lalu buat file-file di bawah ini dan simpan pada folder ‘blogku’ tersebut: 1. header.html 2. footer.html <!-- footer.html --> <hr /> © 2009 Triswansyah Yuliano. Hak cipta dilindungi Undang-undang. </body> </html>3. index.php (file ini adalah file utama yang akan dipanggil oleh browser) <?php // index.php include 'header.html'; ?> <h2>Halaman Depan</h2> Selamat datang di blogku. Blogku ini adalah catatan harianku... Isi nya macem-macem, mulai dari curhatku sampe catatan-catatan lainnya. Catatan kuliah juga aku tulis di sini. Termasuk catetan utang-utangku... Silakan baca dan beri komentar ya... <?php include 'footer.html'; ?>4. Silakan buka browser lalu ketik http://localhost/blogku/index.php File index.php akan menyertakan file header.html dan footer.html untuk ditampilkan pada file index.php dengan menggunakan perintah include. Lalu buat file-file di bawah ini yang berfungsi untuk memanipulasi data. File-file tersebut yaitu sbb: 5. database.php (file yang berisi fungsi koneksi database) <?php mysql_connect('localhost','root',''); mysql_select_db('blogku'); ?>6. lihat.php (file untuk melihat data dari tabel tulisan) <?php include 'header.html'; include 'database.php'; echo '<h2>Tulisanku</h2>'; $hasil = mysql_query('SELECT * FROM tulisan'); if (mysql_num_rows($hasil) == 0) {echo 'Tulisan masih kosong';} while ($baris = mysql_fetch_assoc($hasil)) { echo 'ID: ' . $baris['id_tulisan'] . '<br />'; echo '<b>Judul: ' . $baris['judul_tulisan'] . '</b><br />'; echo 'Tanggal: ' . $baris['tanggal_tulisan'] . '<br />'; echo 'Isi: ' . $baris['isi_tulisan'] . '<br />'; echo '<a href="hapus.php?id=' . $baris['id_tulisan'] . '">HAPUS</a> | <a href="ubah.php?id=' . $baris['id_tulisan'] . '">UBAH</a>'; echo '<hr />'; } include 'footer.html'; ?>7. tambah.php (file untuk memasukan data baru) 8. proses-tambah.php (file untuk memproses penambahan data) <?php include 'header.html'; include 'database.php'; $hasil = mysql_query("INSERT INTO tulisan ( tanggal_tulisan, judul_tulisan, isi_tulisan) VALUES ('". date('Y-m-d h:i:s') ."', '". $_POST['judul'] ."', '". $_POST['isi'] ."' ) "); echo $hasil? 'Data tersimpan':'Data gagal disimpan: '.mysql_error(); include 'footer.html'; ?>9. ubah.php (file untuk mengubah data) <?php include 'header.html'; include 'database.php'; $hasil = mysql_query("SELECT * FROM tulisan WHERE id_tulisan = '" . $_GET['id'] . "'"); $baris = mysql_fetch_assoc($hasil); ?> <h2>Ubah Tulisanku</h2> <form method="post" action="proses-ubah.php"> <p> <input type="text" name="id" readonly="true" value="<?php echo $baris['id_tulisan']; ?>"/> ID (Dikunci)</p> <p> <input type="text" name="tanggal" value="<?php echo $baris['tanggal_tulisan'];?>" readonly="true"> Tanggal (Dikunci)</p> <p> <input type="text" name="judul" value="<?php echo $baris['judul_tulisan'];?>"/> Judul</p> <p>Isi:<br /> <textarea name="isi" cols="80" rows="10"><?php echo $baris['isi_tulisan']; ?></textarea> </p> <p> <input type="submit" name="submit" value="Simpan"> </p> </form> <?php include 'footer.html'; ?>10. proses-ubah.php (file untuk memproses pengubahan data) <?php include 'header.html'; include 'database.php'; $hasil = mysql_query("UPDATE tulisan SET judul_tulisan = '". $_POST['judul'] ."', isi_tulisan = '". $_POST['isi'] ."' WHERE id_tulisan = '". $_POST['id'] ."'"); echo $hasil? 'Data tersimpan':'Data gagal disimpan: ' . mysql_error(); include 'footer.html'; ?>11. hapus.php (file untuk memproses penghapusan data) <?php include 'header.html'; include 'database.php'; $hasil = mysql_query("DELETE FROM tulisan WHERE id_tulisan = '" . $_GET['id'] . "'"); echo $hasil? 'Data dihapus': 'Data gagal dihapus: ' . mysql_error(); include 'footer.html'; ?>12. kosongkan.php (file untuk mengosongkan semua data) <?php include 'header.html'; include 'database.php'; $hasil = mysql_query('TRUNCATE tulisan'); echo $hasil?'Tabel dikosongkan':'Tabel gagal dikosongkan'.mysql_error(); include 'footer.html'; ?>Setelah semua file tersebut disimpan pada folder blogku, lalu buka browser dan ketik http://localhost/blogku/index.php Halaman Index Blogku |