23 Komentar

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.

Tutorial bagian 1 membuat database sekaligus dengan tabel-tabelnya menggunakan script PHP dan SQL. Download link ada di bagian bawah kalau bingun CTRL + F ketik “download”

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 <?php dan diakhiri dengan ?>

Inti dari setiap bahasa pemrograman adalah bagaimana mengolah variabel menjadi sebuah proses yang berfungsi sesuai dengan kebutuhan. Apa itu variabel? sebuah simbol yang dapat menyimpan nilai yang berubah-ubah, kebalikannya adalah konstanta, nilai yang ditampungnya tetap.

Contoh Variabel: X = 1, Y = 12, Z = 7
Contoh Konstanta:  (pi) Π = 3,14

Pada PHP penulisan 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.

$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_NYA'; // 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 '
Database dengan nama <strong><em>' . $nama_db . '</em></strong> telah tercipta

';

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_NYA*/
$query = "drop table if exists $nama_tabel1";
$result = mysql_query( $query );
if( !$result ) { die( mysql_error() ); }

/*Buat tabel USER_NYA*/
$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 "
* Tabel dengan nama <strong><em>$nama_tabel1</em></strong> telah tercipta

";

/*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 "
* Tabel dengan nama <strong><em>$nama_tabel2</em></strong> telah tercipta

";
?>

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

$server = 'localhost';
$user_db = 'root';
$password_db = '';
$nama_db = 'bukutamu';
$nama_tabel1 = 'USER_NYA';
$nama_tabel2 = 'PESAN';

/*---------------------------------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 '
Database dengan nama <strong><em>' . $nama_db . '</em></strong> telah tercipta

';

/*---------------------------------BUAT TABEL-------------------------
/*Pilih db yang mau di handle*/
mysql_select_db( $nama_db );

/* hapus kl ada tabel USER_NYA */
$query = "drop table if exists $nama_tabel1";
$result = mysql_query( $query );
if( !$result ) { die( mysql_error() ); }

/* Buat tabel USER_NYA */
$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 "
* Tabel dengan nama <strong><em>$nama_tabel1</em></strong> telah tercipta

";

/*hapus kl ada tabel BUKUTAMU*/
$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 "
* Tabel dengan nama <strong><em>$nama_tabel2</em></strong> telah tercipta

";
?>

Tampilan pada browser ketika program dijalankan

Tampilan layar create_db.php

Tampilan layar create_db.php ketika dijalankan

Tampilan pada phpmyadmin untuk melihat database dan tabel-tabelnya

Database bukutamu pada phpmyadmin

Tampilan database bukutamu pada phpmyadmin

struktur tabel pesan

Tampilan struktur tabel pesan

Struktur tabel user_nya

Struktur tabel user_nya

Tunggu tutorial Belajar PHP bagian 2 – Membuat halaman registrasi pada buku tamu Baca belajar PHP bagian – 2

Download source code create_db.php

Twitt-nya :

23 comments on “Belajar PHP bagian 1 – Koneksi ke database dan membangun tabel di MySQL

  1. Nice, lur😀

    -=PERTAMAX=-

  2. mas.. mau nanya,,
    trus kalo misal itu dilanjutin sekalian scriptnya buat ngisi tebelnya gimana mas?
    ane nubi banget mas..he..
    tengkyuuu…

    • Kamu tinggal baca tutorial selanjutnya, karena ini bagian dari cerita bersambung, semuanya ada 5 seri/ tutorial. Coba kamu lanjut dulu ke bagian 2 -nya.
      Dan jangan menyerah, karena semua expert pasti berawal dari seorang nubi😉

  3. Mas, kalo kita pengen konek dengan dua database sekaligus bisa gak ya? thx

    • Tentu saja bisa,
      $link1 = mysql_connect($serv1, $usr1, $pass1);
      $link2 = mysql_connect($serv2, $usr2, $pass2);
      if( mysql_select_db($db1, $link1) ){
      mysql_query($query1, $link1);
      }

      Tinggal sesuaikan parameter $link di setiap pemanggilan fungsi mysql.
      Bacaan lebih lanjut: PHP manual bagian mysql_connect, mysql_select_db, mysql_query bagian parameter link_identifier
      Selamat mencoba dan bereksperimen😉

  4. salam,,,,, postingan yang menarik,,,,
    aku mungkin terlanjur kabur pada koneksi database tutor 1… hingga tutor slanjutnya tetap kbur.. hahahaha
    aku dah banyak search yang kya ginian,,, yang paling bkin pusing input datanya gmana..?? ada banyak step,, tiap step inputnya kya gmana dmana dan sperti apa,,, (wadduuhh kyanya bener benr buta bahasa pemrograman)

  5. blog anda membantu sekali

  6. kk,bisa ga kalau di back ga kembali lagi ke form login yah..

  7. ohhh iya kalau saya ganti data base nya apa yang perlu di ganti dan di cocokan..???????

  8. aa’..aku mw nanya, aku kan nyoba bikin,sudah DL source code nya juga..
    kalo pas di jalanin hasilnya begini ‘
    Warning: mysql_connect() [function.mysql-connect]: Access denied for user ‘root’@’localhost’ (using password: NO) in C:\AppServ\www\bukutamu\create_db.php on line 19
    Access denied for user ‘root’@’localhost’ (using password: NO) ‘

    udah di otak-atik masih tetep gak bisa..itu apanya yang salah ya a’? trus harus di apain a’?

    • Supaya PHP bisa melakukan koneksi ke DB maka dibutuhkan username dan password dari database. Pesan warning tersebut muncul karena username dan password nya tidak cocok atau tidak ditemukan. Jika sebelumnya kamu memberikan password pada user root maka password tersebut harus disertakan di variabel $password_db = 'MASUKAN PASSWORD';

  9. artikelnya sangat bagus mas.. terima kasih

  10. mas, mau tanya kalau kita mau meletakkan buku tamu atau tabel atau semacamnya pada posisi modul tertentu gimana mas ? atau menghubungkan tabel dan buku tamu tersebut ke “menu” ? saya pakai joomla 2.5, terima kasih atas bantuannya.

  11. mas…
    ada video tutorialx gak….
    bingung q…

  12. Makasih gan

Menurut anda bacaan ini bermanfaat? Ada tambahan? Atau mungkin mencari jawaban lain? Tulis disini Ok (:

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: