Wednesday, June 11, 2008 at 3:02:00 PM

Mengakses MySQL dengan PHP - Bagian I

Dityo Nurasto

Under categories of Development, PHP | Comments (2)

Sebenarnya sudah banyak buku menerangkan bagaimana mengakses ke MySQL dengan PHP melalui kode prosedural. Sekarang banyak yang bertanya "bagaimana mengakses MySQL sebagai basis data (Database) dalam PHP?". Pada intinya ada beberapa tahapan yang perlu dilakukan, secara fungsional adalah

  1. Membuka koneksi ke MySQL
  2. Menentukan database yang akan digunakan. MySQL adalah database server dan di dalamnya terdapat banyak database, jangan sampai salah mengartikannya.
  3. Membuat SQL Query
  4. Menampilkan data dengan mengolahnya dengan memanfaatkan spesifikasi HTML atau jenis output lainnya, seperti XML, CSV, dan lain - lain.

Tutorial berseri ini dibuat untuk pembelajar yang mau belajar dasar pemograman PHP.

Sebelum Memulai

Mari kita buat definisi database dan table yang akan kita jadikan tutorial, kita buat satu table untuk berita. Komponen berita adalah id, judul, tanggal, dan isi. Gunakan PhpMyAdmin untuk membuat database dengan nama belajar dan jalankan perintah SQL berikut

CREATE TABLE `berita` (
  `id` int(11) NOT NULL auto_increment,
  `judul` varchar(250) NOT NULL,
  `tanggal` datetime NOT NULL,
  `isi` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Membuka koneksi ke MySQL

Membuka koneksi hukumnya Fardhu 'Ain (harus dilakukan). Kita perlu tahu target server mysql, username, dan passwordnya. Cari tahu dulu sebelum bisa mengakses database server, pada umumnya kalau kita install di komputer pribadi target mysql adalah localhost, usernamenya root, dan passwordnya [kosong] alias nggak ada.

<?php
//Kita mencoba mengakses mySQL, jika error maka keluarkan errornya.
$db_link = mysql_connect('localhost','root','') or die('Error nih :'.mysql_error());
?>

Menentukan database yang akan digunakan

Kita telah membuat definisi database dan table, mari kita buka database tersebut. Gue lanjutin dari kode atas supaya loe pade ngarti :D.

<?php

//Kita mencoba mengakses mySQL, jika error maka keluarkan errornya.
$db_link = mysql_connect('localhost','root','') or die('Error Nih: '.mysql_error());

//kita membuka database
mysql_select_db('belajar') or die('Yah, error lagi nih:'.mysql_error());
?>

Menjalankan Query dan menampilkan data

Nah, selepas entu kita bisa mengakses table kite. Nah, tapi sebelumnya kita perlu ngerti mengenai SQL secara fundamental. Jadi kudu inget, kalau PHP hanya mengirimkan perintah ke MySQL, kemudian MySQL mengirimkan hasil balikan dari apa yang diperintahkan. Dalam bahasa barat tindakan manipulasi dikenal dengan DML (Data Manipulation Language), yang paling sering digunakan yah entu:

  • SELECT. Contoh: SELECT * FROM berita;
  • INSERT. Contoh: INSERT INTO berita (judul, tanggal, isi) VALUES ('Jakarte Macet', '2008-6-11', '&lt;p&gt;Ni pagaimana sih? macet mulu&lt;/p&gt;');
  • UPDATE. Contoh: UPDATE berita SET judul = 'Jakarta Makin Macet' WHERE id = 1;
  • DELETE. Contoh: DELETE FROM berita WHERE id = 1;

Nah, udah kebayang pan pagaimana caranya ... kode di atas entu musti loe pahamin dahulu, soalnye dalam SQL juga dikenal kondisi pensortiran data. Kita kagak bahas di sini yak, waktunya mepet hahah, nanti gue jelasin pada bagian entah ke berapa. Tapi yang sekarang adalah cara bagaimana menampilkan data, jadi tambahin datanya dulu lewat PhpMyAdmin yah.

<?php

//Kita mencoba mengakses mySQL, jika error maka keluarkan errornya.
$db_link = mysql_connect('localhost','root','') or die('Error Nih: '.mysql_error());

//kita membuka database
mysql_select_db('belajar') or die('Yah, error lagi nih:'.mysql_error());

//menjalankan query
$query = mysql_query('SELECT * FROM berita') or die('Mas, ada yang salah:'.mysql_error());

//apakah ada data?
if(mysql_num_rows($query) > 0)
{    
    //membuat output HTML table 
    echo '<table>';
    
    //buat kolom untuk data field
    echo '<thead>';
    echo '<td align="center">ID</td>';
    echo '<td align="center">Judul</td>';
    echo '<td align="center">Tanggal</td>';
    echo '<td align="center">Isi Berita</td>';
    echo '<td align="center">Perintah</td>';
    echo '</thead>';
    
    //iterasi terhadap resource query
    while($data_item = mysql_fetch_array($query))
    {
        //keluarkan data yang tersimpan pada array $data_item
        echo '<tr>';
        echo '<td align="center">'.$data_item['id'].'</td>';
        echo '<td align="center">'.$data_item['judul'].'</td>';
        echo '<td align="center">'.$data_item['tanggal'].'</td>';
        echo '<td align="center">'.$data_item['isi'].'</td>';
        echo '<td align="center"><a href="edit.php?id=">Edit</a> | <a href="delete.php?id=">Delete</a></td>';
        echo '</tr>';
    }
    echo '</table>';
}
else
{
    echo '<p>Nggak ada datanya atuh bang, ditambah datanya napa?</p>';
}

?>

Untuk seri selanjutnya. simpan source code di atas dengan nama list.php pada direktori yang diinginkan. Nah, begitu cara prosedural untuk menampilkan data MySQL dari PHP. Untuk kali ini gue tidak membahas memasukkan data, mengupdate, dan menghapus. Nanti gue lanjutin lagi, Oce bos?

Salam Hangat! Mau Lanjut? Mengakses MySQL dengan PHP Bagian 2.

Related posts

Comments

Sardo id
Sunday, 13 July 2008 at 05:53:02 PM

Sardo

bagaimana mengatasi masalah jika input data tidak kelihatan tapi barris pada tabel bertambah
 

Dityo Nurasto id
Friday, 08 August 2008 at 12:25:41 AM

Dityo Nurasto

Apakah AJAX? atau input hidden? Bisa lebih spesifik?
 

Add comment


(Will show your Gravatar icon)  

  Country flag

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]



Live preview


Friday, 22 August 2008 at 10:28:53 AM


 

This is me!

Hi. My name is Dityo Nurasto. I am freelance software and web developer.

ShoutBox



Recent comments

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2008