Jelaskan kegunaan fungsi dibawah ini mysql_connect mysql_error mysql_fetch_array


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 Koneksi

Sebelum 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 Query

Setelah 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 Data

Untuk mengambil data hasil dari query SELECT, bisa menggunakan perintah mysql_fetch_row, mysql_fetch_assoc, ataupun mysql_fetch_array. Perbedaannya adalah:

Fungsi/Perintah Hasil
mysql_fetch_row hasilnya berupa array biasa
mysql_fetch_assoc hasilnya berupa array associative
mysql_fetch_array hasilnya berupa array biasa dan/atau array asosiatif

Contoh:

<?php // mysql_fetch_row mysql_connect('localhost','root',''); mysql_select_db('nama_database'); $hasil = mysql_query('SELECT nama_field_1, nama_field_2,nama_field_3 FROM nama_tabel'); while ($deretan = mysql_fetch_row($hasil)) { echo $deretan[0]; //akan menampilkan isi field pertama echo $deretan[1]; //akan menampilkan isi field kedua echo $deretan[2]; //akan menampilkan isi field ketiga, dst } // mysql_fetch_assoc mysql_connect('localhost','root',''); mysql_select_db('nama_database'); $hasil = mysql_query('SELECT * FROM nama_tabel'); while ($deretan = mysql_fetch_assoc($hasil)) { echo $deretan['nama_field_1']; //akan menampilkan isi field pertama echo $deretan['nama_field_2']; //akan menampilkan isi field kedua echo $deretan['nama_field_3']; //akan menampilkan isi field ketiga } ?>

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 data

Untuk 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 data

Untuk 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 data

Untuk 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/Praktikum

Pada 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:

Field Jenis NULL/Kosong Default Lain-lain
id_tulisan int(10) Tidak PRIMARY KEY, auto_increment
judul_tulisan varchar(100) Tidak
isi_tulisan text Tidak
tanggal_tulisan datetime Tidak

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

<!-- header.html --> <html> <head> <title>Blogku</title> <style type="text/css"> <!-- h1 { font-family: Georgia, "Times New Roman", Times, serif; font-size: 36px; color: #003399; } h2 { font-family:Georgia, "Times New Roman", Times, serif; font-size:24px; } body,td,th { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; } --> </style> </head> <body> <h1>Blogku</h1> <p> <a href="index.php">Beranda</a> | <a href="lihat.php">Lihat Tulisanku</a> | <a href="tambah.php">Tambah Tulisan </a> | <a href="kosongkan.php">Kosongkan</a> </p>

2. footer.html

<!-- footer.html --> <hr /> &copy; 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)

<?php include 'header.html'; ?> <h2>Tambah Tulisan di Blogku</h2> <form method="post" action="proses-tambah.php"> <p> <input name="id" type="text" readonly="true" value="auto_increment"/> ID (Dikunci)</p> <p> <input type="text" name="tanggal" value="<?php echo date('Y-m-d h:i:s');?>" readonly="true"> Tanggal (Dikunci)</p> <p> <input type="text" name="judul" /> Judul</p> <p>Isi:<br /> <textarea name="isi" cols="80" rows="10"></textarea> </p> <p> <input type="submit" name="submit" value="Simpan"> <input name="reset" type="reset" id="Reset" value="Bersihkan"> </p> </form> <?php include 'footer.html'; ?>

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

Jelaskan kegunaan fungsi dibawah ini mysql_connect mysql_error mysql_fetch_array
Halaman Index Blogku