Koneksi PHP Ke Database Mysql
Telah
dijelaskan bahwa koneksi ke database merupakan salah satu fitur PHP
yang paling sering digunakan. Apalagi PHP juga telah menyediakan
fungsi-fungsi built in yang mendukung koneksi database ke MySQL server.
Nah, setelah Anda sedikit banyak tahu tentang MySQL, kini saatnya untuk
menerapkan pengetahuan tersebut untuk membuat aplikasi web database
dengan PHP dan MySQL.
Untuk keperluan contoh dan latihan, kita akan membuat sebuah database dengan MySQL. Buatlah sebuah database dengan nama datakontak sebagai berikut:
mysql> create database datakontak;
Pilihlah database tersebut sebagai database aktif.
mysql> use datakontak;
Buatlah sebuah tabel baru dengan nama tbl_kontak sebagai berikut:
Untuk keperluan contoh dan latihan, kita akan membuat sebuah database dengan MySQL. Buatlah sebuah database dengan nama datakontak sebagai berikut:
mysql> create database datakontak;
Pilihlah database tersebut sebagai database aktif.
mysql> use datakontak;
Buatlah sebuah tabel baru dengan nama tbl_kontak sebagai berikut:
mysql> create table tbl_kontak(
-> nama varchar(20),
-> alamat varchar(30),
-> telpon varchar(12),
-> email varchar(30),
-> nama varchar(20),
-> alamat varchar(30),
-> telpon varchar(12),
-> email varchar(30),
-> tgl_lahir (date);
Tabel ini adalah contoh suatu tabel daftar nama kontak. Isikan tabel tersebut dengan data-data yang terdapat pada tabel di bawah ini:
Tabel Kotak : Record-record untuk tbl_kontak
nama alamat telpon email tgl_lahir !!
Anton Jl. Angsa 1-123456 anton@anton.com 1975-01-01
Betty Jl. Belimbing 2-234567 betty@betty.net 1980-02-02
Charlie Jl. Cakra 3-345678 charlie@charlie.org 1974-03-03
Diana Jl. Durian 4-456789 diana@diana.tv 1979-04-04
Charlie Jl. Cakra 3-345678 charlie@charlie.org 1974-03-03
Diana Jl. Durian 4-456789 diana@diana.tv 1979-04-04
Enggar Jl. Elang 5-567891 enggar@enggar.info 1982-05-05
Fifi Jl. Flamengo 6-678912 fifi@fifi.biz 1977-06-06
Gina Jl. Gelora 7-789123 gina@gina.com 1973-07-07
Fifi Jl. Flamengo 6-678912 fifi@fifi.biz 1977-06-06
Gina Jl. Gelora 7-789123 gina@gina.com 1973-07-07
Kemudian buatlah sebuah file teks yang berisi teks sebagai berikut:
insert into tbl_kontak values ('Anton','Jl. Angsa 1','123456',' anton@anton.com','1975-01-01');
insert into tbl_kontak values ('Betty','Jl. Belimbing 2','234567',' betty@betty.net','1980-02-02');
insert into tbl_kontak values ('Charlie','Jl. Cakra 3','345678',' charlie@charlie.org','1974-03-03');
insert into tbl_kontak values ('Diana','Jl. Durian 4','456789',' diana@diana.tv','1979-04-04');
insert into tbl_kontak values ('Enggar','Jl. Elang 5','567891',' enggar@enggar.info','1982-05-05');
insert into tbl_kontak values ('Fifi','Jl. Flamengo 6','678912',' fifi@fifi.biz','1977-06-06');
insert into tbl_kontak values ('Gina','Jl. Gelora 7','789123',' gina@gina.com','1973-07-07');
Simpanlah file teks tersebut dengan nama misalnya tbl_kontak.sql, lalu jalankan perintah mysql dari prompt/shell sebagai berikut:
# mysql datakontak < tbl_kontak.sql
insert into tbl_kontak values ('Betty','Jl. Belimbing 2','234567',' betty@betty.net','1980-02-02');
insert into tbl_kontak values ('Charlie','Jl. Cakra 3','345678',' charlie@charlie.org','1974-03-03');
insert into tbl_kontak values ('Diana','Jl. Durian 4','456789',' diana@diana.tv','1979-04-04');
insert into tbl_kontak values ('Enggar','Jl. Elang 5','567891',' enggar@enggar.info','1982-05-05');
insert into tbl_kontak values ('Fifi','Jl. Flamengo 6','678912',' fifi@fifi.biz','1977-06-06');
insert into tbl_kontak values ('Gina','Jl. Gelora 7','789123',' gina@gina.com','1973-07-07');
Simpanlah file teks tersebut dengan nama misalnya tbl_kontak.sql, lalu jalankan perintah mysql dari prompt/shell sebagai berikut:
# mysql datakontak < tbl_kontak.sql
atau
c:\mysql\bin> mysql datakontak < tbl_kontak.sql
Untuk memeriksa apakah pengisian data tersebut,berhasil, maka buatlah query sebagai berikut:
myqsl> use datakontak;
mysql> select * from tbl_kontak;
Hasil yang diberikan seharusnya akan sama persis dengan yang terlihat pada Tabel Kontak.
Nah,
sekarang kita masuk ke aplikasi PHP yang akan mengakses database
tersebut. Latihan pertama yang diberikan adalah mengakses atau melakukan
koneksi ke server MySQL, mengambil query, dan menampilkan query
tersebut ke halaman web.
Untuk melakukan koneksi ke database MySQL digunakan fungsi mysql_connect(). Fungsi ini merupakan jembatan antara aplikasi PHP dengan database MySQL. Sintaksnya adalah sebagai berikut:
Untuk melakukan koneksi ke database MySQL digunakan fungsi mysql_connect(). Fungsi ini merupakan jembatan antara aplikasi PHP dengan database MySQL. Sintaksnya adalah sebagai berikut:
mysql_connect(host, user, password)
Server
adalah nama server yang merupakan host dari MySQL server, sedangkan
user dan password adalah user dan password MySQL. Contoh:
$conn = mysql_connect('localhost','root','root')
Setelah
jembatan itu terbentuk, berikutnya adalah memilih database mana yang
akan digunakan dalam aplikasi PHP. Fungsi yang digunakan adalah
mysql_select_db(). Sintaksnya adalah sebagai berikut:
mysql_select_db(namadatabase[,koneksi])
Parameter koneksi adalah variabel yang menyimpan koneksi ke MySQL server yang dilakukan oleh fungsi mysql_connect(). Contoh:
mysql_select_db('datakontak',$conn)
Berikutnya
adalah mengambil query dari database yang telah terkoneksi tersebut.
Fungsi yang digunakan adalah mysql_query(). Sintaksnya adalah sebagai
berikut:
mysql_query(perintahsql[,koneksi])
Contoh:
$qry = mysql_query('select * from tbl_kontak',$conn)
Yang
terakhir adalah menampilkan hasil query tersebut ke halaman web. Fungsi
yang digunakan adalah mysql_fetch_array(). Fungsi ini digunakan untuk
memasukkan hasil query ke dalam array assosiatif dan/atau array numeris.
Dalam bentuk variabel array, tentunya record-record tersebut kini bisa
ditampilkan. Sintaks dari fungsi mysql_fetch_array() adalah sebagai
berikut:
mysql_fetch_array(query)
Query adalah hasil query yang didapatkan dari fungsi mysql_query(). Contoh:
$row = mysql_fetch_array($qry)
Variabel
$row inilah yang merupakan array yang menyimpan hasil query. Dengan
demikian untuk menampilkan field-field pada query Anda dapat menggunakan
$row[0], $row[1], dan seterusnya, atau $row['namafield1'],
$row['namafield2'], dan seterusnya. Yang harus diperhatikan adalah
bagaimana caranya kita menampilkan query tersebut sehingga sedap
dipandang.
Berikut ini adalah contoh skrip bagaimana mengakses tabel tbl_kontak dari database data kontak
Berikut ini adalah contoh skrip bagaimana mengakses tabel tbl_kontak dari database data kontak
$host = “localhost”;
$user = “root”;
$passwd = “root”;
$db = “datakontak”;
$sql = “select * from tbl_kontak”;
$conn = mysql_connect($host,$user,$passwd);
mysql_select_db($db);
$qry = mysql_query($sql);
?>
<table
border=1><tr><td bgcolor="#f32142"> Nama
</td><td bgcolor="#f32142"> Alamat </td><td
bgcolor="#f32142"> Telpon </td><td bgcolor="#f32142">
Email </td><td bgcolor="#f32142"> Tanggal Lahir
</td></tr>
<tr><td
bgcolor="#f7efde"> =$row['nama']?> </td><td
bgcolor="#f7efde"> =$row['alamat']?> </td><td
bgcolor="#f7efde"> =$row['telpon']?> </td><td
bgcolor="#f7efde"> =$row['email']?> </td><td
bgcolor="#f7efde"> =$row['tgl_lahir']?> </td></tr>
</table>
Dukungan PHP
— Memiliki banyak library yang memungkinkan untuk akses database.
— Kecepatan akses dengan menggunakan engine/driver yang khusus untuk setiap database.
— Independent terhadap database yang digunakan.
— PHP mendukung ODBC.
Prosedur Standar
- Connect to Server
- Open Database
- EksekusiSQL
- ProsesRecord Set
- Close Database
— Proses
inti dari manipulasi database adalah pembangunan perintah SQL yang
digunakan untuk melakukan query, select, insert, update dan delete.
Template Akses Database
— Membuat koneksi dengan database
$conn= mysql_connect($host, $user, $pass);
mysql_connect (namaserver, username ,password) perintah ini digunakan untuk melakukan
koneksi
ke database server. Fungsi ini menghasilkan suatu pengenal link (link
identifier) yang digunakan untuk perintah berikutnya.
— Membuka database
$select = Mysql_select_db($nama_db);
Mysql_select_db printah ini digunakan untuk memilih database apa yang akan diproses.
— Melakukan Query
$result = Mysql_query(“SELECT EmployeeID from Sales”);
Mysql_query perintah
ini digunakan untuk mengeksekusi perintah SQL yang ada di parameter
query.fungsi ini akan menghasilkan suatu petunjuk kehasil eksekusi
(result).
— Mengambil Hasil Query à masukkan ke dalam Array
$row = Mysql_fetch_array($result);
Mysql_fetch_array
(link result) berfungsi untuk mengambil satu baris data atau satu kolom
data dari proses eksekusi query, perintah ini menghasilkan array yang
dimulai dengan index 0.
— Mencetak isi Field
echo $row[“namafield”];
echo $row merupakan perintah yang digunakan untuk menampilkan berapa data yang dihasilkan dari eksekusi query(result).