Belajar PHP bagian 1 – Koneksi ke database dan membangun tabel di MySQL


Disini akan saya jelaskan bagaimana membangun koneksi ke database MySQL beserta  pembuatan tabel-tabel yang dibutuhkan.

Kita akan membangun aplikasi buku tamu sederhana menggunakan PHP dimana penggunanya harus mendaftar dahulu untuk menuliskan komentar dan nama mereka. Sebenarnya buku tamu tidak harus ada pendaftaran, namun supaya kita nanti bisa sekalian latihan kode PHP untuk login dan pendaftaran maka fitur tersebut saya tambahkan.

Pada pembahasan tutorial ini saya akan sesekali membahas lebih rinci tentang aturan dalam PHP beserta contoh kasus kodenya dan kembali lagi ke pembahasan buku tamu.

Setiap penulisan kode PHP harus diawali dengan tag php <? atau <?php dan diakhiri dengan ?>

Pada PHP variabel di tandai dengan awalan dolar $ diikuti dengan alphanumeric [a-z] dan [A-Z] atau bisa diikuti dengan underscore [_] lalu setelahnya baru boleh ada angka, ingat setelah $ tidak boleh ada spasi [ ]. Dan untuk satu blok kode diakhiri dengan semicolon [;]

Variabel sendiri bersifat case-sensitive artinya berbeda antara huruf kecil dan besar, $a dan $A merupakan dua variabel yang berbeda.

Contoh kasus:

<?php
$var = 10; // betul
$vAR = 20; // betul
$_var = 'PHP itu mudah'; // betul
$var1 = 25; // betul
$ var = 30; // salah
$1var = 35; // salah
$var dua = 40; // salah
?>

Oke kita mulai, pertama-tama kita lakukan inisialisasi variabel-variabel yang akan kita gunakan, sebaiknya variabel ini disimpan pada file terpisah, namun untuk kesederhanaan kode saya tulis dalam satu file.

<?php
$server = 'localhost'; // nama/alamat IP server MySQL
$user_db = 'root'; // username di MySQL
$password_db = ''; // password dari username
$nama_db = 'bukutamu'; // nama database
$nama_tabel1 = 'USER'; // nama tabel pengguna
$nama_tabel2 = 'PESAN'; // nama tabel pesan

Dalam melakukan koneksi database ke MySQL ada tiga parameter yang kita butuhkan, nama server, username dan password. Nilai dari variabel $server mewakili nama server MySQL secara umum bisa dipastikan nama server MySQL adalah 'localhost' (diapit tanda kutip karena nilainya bertipe string).

Sesuaikan nilai $user_db dan $password_db dengan username dan password MySQL anda, ganti 'root' dengan username yang terdaftar di MySQL.

Setelah koneksi berhasil dilakukan kita akan memilih satu database yang ada, karena dalam mesin MySQL sangat mungkin terdapat banyak database. Kita akan memilih salah satu dengan menggunakan nama dari database tersebut. Disini kita akan memilih database dengan nama 'bukutamu'.

Database menyimpan tabel-tabel yang terstruktur sesuai dengan relasinya.

Dua variabel terakhir kita butuhkan dalam proses penciptaan tabel didalam database yang telah kita pilih.

Sekarang kita lakukan koneksi ke MySQL menggunakan variabel $server, $user_db dan $password_db

/*-------------------------------BUAT DB--------------------------------
/*Buka koneksi*/
mysql_connect( $server, $user_db, $password_db ) or die( mysql_error() );
/*Masukan query u/ menciptakan db kl blun ada*/
mysql_query( 'create database if not exists ' . $nama_db ) or die( mysql_error() );
echo '<p>Database dengan nama <strong><em>' . $nama_db . '</em></strong> telah tercipta</p>';

Fungsi mysql_connect() adalah membuka koneksi ke MySQL dengan menggunakan parameter-parameter didalamnya. Sedangkan die() berguna untuk menghentikan eksekusi kode jika koneksi gagal sekaligus menampilkan error dari MySQL dengan fungsi mysql_error() didalamnya. Kata kunci or memberikan pilihan terhadap kondisi mana yang memiliki nilai TRUE maka ia yang akan di jalankan, logika sederhananya “jika tidak terhubung ( mysql_connect() ) berhenti dan tampilkan error ( die( mysql_error() ) )”.

Jika tidak ada error maka yang akan dijalankan adalah blok kode :

mysql_query( 'create database if not exists ' . $nama_db )

or die( mysql_error() );

Fungsi mysql_query() bertugas mengirimkan perintah ke MySQL dalam format SQL (Structured Query Language). perintah SQL 'create database if not exists ' . $nama_db berarti buat database jika memang belum ada dengan nama $nama_db, maka database dengan nama 'bukutamu' yang akan tercipta. Jika database dengan nama 'bukutamu' telah ada maka blok ini akan di lewat tanpa ada error.

echo digunakan untuk menampilkan output pada browser berupa Database dengan nama bukutamu telah tercipta

Database telah tercipta, sekarang kita harus memilihnya dan mengisi dengan tabel-tabel yang kita butuhkan.

/*--------------------------------BUAT TABEL--------------------------
/*Pilih db yang mau di handle*/
mysql_select_db( $nama_db );
/*hapus kl ada tabel USER*/
$query = "drop table if exists $nama_tabel1";
$result = mysql_query( $query );
if( !$result ) { die( mysql_error() ); }
/*Buat tabel USER*/
$query = "create table $nama_tabel1(";
$query .='USER_ID varchar(255) not null,';
$query .='PASS varchar(255) not null,';
$query .='primary key(USER_ID)';
$query .=')';
$result = mysql_query( $query );
if( !$result ) { die( mysql_error() ); }
echo "<p>     * Tabel dengan nama <strong><em>$nama_tabel1</em></strong> telah tercipta</p>";
/*hapus kl ada tabel PESAN*/
$query = "drop table if exists $nama_tabel2";
$result = mysql_query( $query );
if( !$result ) { die( mysql_error() ); }
/*Buat tabel PESAN*/
$query = "create table $nama_tabel2(";
$query .='KD int(4) not null auto_increment,';
$query .='NAMA varchar(255) not null,';
$query .='PESAN text not null,';
$query .='primary key(KD)';
$query .=')';
$result = mysql_query( $query );
if( !$result ) { die( mysql_error() ); }
echo "<p>     * Tabel dengan nama <strong><em>$nama_tabel2</em></strong> telah tercipta</p>";
?>

Disini kita lihat beberapa syntax baru, mysql_select_db() berfungsi untuk memilih database bukutamu yang telah kita buat sebelumnya.  Sisanya berfungsi untuk menciptakan tabel, karena nama tabel harus unique sehingga saya tambahkan kode untuk menghapus sebelum menciptakan tabel tersebut.

Kode lengkap create_db.php

01 <?
02 $server = 'localhost';
03 $user_db = '';
04 $password_db = '';
05 $nama_db = 'sesuatu';
06 $nama_tabel1 = 'USER_NYA';
07 $nama_tabel2 = 'BUKUTAMU';
08
09 /*---------------------------------BUAT DB----------------------------
10 /*Buka koneksi*/
11 mysql_connect( $server, $user_db, $password_db ) or die( mysql_error() );
12
13 /*Masukan query u/ menciptakan db kl blun ada*/
14 mysql_query( 'create database if not exists ' . $nama_db) or die( mysql_error() );
15
16 echo '<p>Database dengan nama <strong><em>'.$nama_db.'</em></strong> telah tercipta</p>';
17
18 /*---------------------------------BUAT TABEL-------------------------
19 /*Pilih db yang mau di handle*/
20 mysql_select_db( $nama_db );
21
22 /*hapus kl ada tabel USER*/
23 $query = "drop table if exists $nama_tabel1";
24 $result = mysql_query( $query );
25 if( !$result ) { die( mysql_error() ); }
26
27 /*Buat tabel USER*/
28 $query = "create table $nama_tabel1(";
29 $query .='USER_ID varchar(255) not null,';
30 $query .='PASS varchar(255) not null,';
31 $query .='primary key(USER_ID)';
32 $query .=')';
33 $result = mysql_query($query);
34 if(!$result) { die( mysql_error() ); }
35 echo "<p>     * Tabel dengan nama <strong><em>$nama_tabel1</em></strong> telah tercipta</p>";
36
37 /*hapus kl ada tabel BUKUTAMU*/
38 $query = "drop table if exists $nama_tabel2";
39 $result = mysql_query( $query );
40 if( !$result ) { die( mysql_error() ); }
41
42 /*Buat tabel BUKUTAMU*/
43 $query = "create table $nama_tabel2(";
44 $query .='KD int(4) not null auto_increment,';
45 $query .='NAMA varchar(255) not null,';
46 $query .='PESAN text not null,';
47 $query .='primary key(KD)';
48 $query .=')';
49 $result = mysql_query( $query );
50 if( !$result ) { die( mysql_error() ); }
51 echo "<p>     * Tabel dengan nama <strong><em>$nama_tabel2</em></strong> telah tercipta</p>";
52 ?>

Tampilan pada browser ketika program dijalankan

Tampilan layar create_db.phpTampilan layar create_db.php ketika dijalankan 

Tampilan pada phpmyadmin untuk melihat database dan tabel-tabelnya

Database bukutamu pada phpmyadminTampilan database bukutamu pada phpmyadmin 

struktur tabel pesanTampilan struktur tabel pesan 

Struktur tabel user_nyaStruktur tabel user_nya
http://muslimpribadi.wordpress.com

 

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: