Anda di halaman 1dari 15

In Country Training 2002 Tessy Badriyah, SKom. MT.

Bab I Koneksi PHP ke Database MySQL


Situs web yang interaktif pada dasarnya adalah suatu sarana untuk saling bertukar informasi. Untuk keperluan tersebut, dibutuhkan suatu aplikasi database pada situs yang dibuat. PHP menyediakan fasilitas koneksi ke d atabase pada hampir semua program database popular baik yang komersial maupun gratis. Pada bagian ini akan dibahas tentang server database MySQL. MySQL merupakan server database yang banyak digunakan di Internet karena kehandalannya dan juga karena sifatnya yang shareware (gratis).

1.1. Akses Database


Secara umum akses ke database melalui tiga tahap : 1. Koneksi ke database 2. Query, meminta database server untuk memberikan informasi sesuai yang diminta 3. Pemutusan koneksi Koneksi ke database dapat dilakukan dengan menggunakan fungsi mysql_connect(), mysql_pconnect(), mysql_select_db().

mysql_connect()
Sintaxnya : Mysql_connect(nama_host,nama_user,password) Jika parameter nama_host tidak diisi, maka otomatis akan diisi dengan nilai default yaitu localhost. Koneksi ke database otomatis akan terputus pada saat script program selesai dieksekusi. Atau dengan memberikan perintah mysql_close() pada script program yang ada. Fungsi mysql_connect() akan memberikan nilai true jika koneksi berhasil dilakukan. <? //Koneksi ke MySQL $konek=mysql_connect(localhost,eepis,its); if ($konek) echo koneksi berhasil; else echo koneksi gagal; ?> Jika dilakukan koneksi dengan mysql_pconnect() bukan dengan mysql_connect(), maka koneksi tidak akan terputus meski program script selesai dieksekusi.

1.2. Membuat Database


Untuk membangun suatu aplikasi yang berisi informasi yang berguna digunakan suatu database. Fungsi mysql_create_db() digunakan untuk keperluan tersebut. Sintaks dari mysql_create_db() : mysql_create_db(database); <? //Koneksi ke MySQL $konek=mysql_connect(localhost,eepis,its); if ($konek) echo koneksi berhasil; else echo koneksi gagal; $buat=mysql_create_db(dataku); if ($buat) echo database dataku berhasil dibuat; else echo database dataku gagal dibuat; ?>

Database Connection - 1

In Country Training 2002 Tessy Badriyah, SKom. MT.

1.3. Membuat Tabel


Untuk memuat informasi sesuai dengan kategori yang ada digunakan tabel. Sebuah tabel mengandung field data. Untuk membuat tabel data dengan field-fieldnya digunakan sintaks database MySQL, kemudian sintaks ini dioperasikan dengan menggunakan fungsi mysql_query(). <? // Membuat tabel data dengan MySQL $konek=mysql_connect(localhost,eepis,its); if ($konek) echo koneksi berhasil; else echo koneksi gagal; $buat=mysql_create_db(akademik); if ($buat) echo (<br><br>database akademik berhasil dibuat); else echo (<br><br>database akademik gagal dibuat); $perintah_buat=CREATE TABLE datamhs (nrp int(10) PRIMARY KEY, nama char(30), alamat varchar(40)); $buat_tabel=mysql_db_query(akademik,$perintah_buat); if ($buat_tabel) echo (<br><br>Tabel datamhs berhasil dibuat); else echo (<br><br>Tabel datamhs gagal dibuat); ?>

1.4. Operasi Database


Setelah melakukan koneksi ke database, membuat database dan membuat tabel, berikutnya adalah dilakukan proses operasi terhadap database tersebut. Operasi tersebut meliputi input data, edit data, hapus data dan mengambil data. Untuk melakukan operasi database dengan menggunakan PHP script, langkah-langkah yang dilakukan : 1. Koneksi ke database 2. Deklarasikan variabel string yang berisi sintak MySQL 3. Laksanakan sintak tersebut dengan menggunakan fungsi mysql_query(). Deklarasikan sebuah variabel untuk menampung hasil operasi tersebut. 4. Mengambil hasil dari sintak fungsi mySQL yang dilakukan dengan menggunakan fungsifungsi mysql_fetch_array(), mysql_fetch_row(), mysql_num_rows, dll, bergantung pada format output yang diinginkan.

1.5. Melakukan Input Data


Untuk melakukan input data digunakan perintah : INSERT INTO nama_tabel (field1,field2, ) VALUES (data1,data2,) Jika parameter field tidak dimasukkan maka data yang dimasukkan jumlahnya harus sama dengan jumlah field dari tabel tersebut. <? // Melakukan input data mysql_connect(localhost,eepis,its); mysql_select_db(akademik); $input=INSERT INTO datamhs (nrp,nama) VALUES (123,Daisy); $hasil=mysql_db_query(akademik,$input); if ($input) echo input data berhasil; else echo input data gagal; ?>

Database Connection - 2

In Country Training 2002 Tessy Badriyah, SKom. MT.

1.6. Mencari Data


Untuk pencarian data digunakan perintah SQL berikut : SELECT field1,field2, FROM nama_table WHERE syarat1,syarat2, ORDER BY nama_field Jika field yang dicari adalah semua field yang ada pada tabel, maka field yang harus diisi cukup digantikan dengan tanda *. Parameter ORDER BY menunjukkan pengurutan data berdasarkan field tertentu. Secara default dilakukan urut menaik (increment). Urutan dapat dibalik dengan menambahkan atribut DESC. <? // Mencari Data urut berdasar field nama mysql_connect(localhost,eepis,its); mysql_select_db(akademik); $cari=SELECT * FROM datamhs ORDER BY nama; $hasil=mysql_db_query(akademik,$cari); while ($data=mysql_fetch_row($hasil)) { echo (<br>NRP : $data[0]); echo (<br>Nama : $data[0]); echo (<br>Alamat : $data[0]); } ?>

Fungsi mysql_fetch_row()

Hasil query ke database disimpan ke dalam suatu variabel, dan untuk mengambil isi dari variabel tersebut digunakan perintah mysql_fetch_row(). Fungsi mysql_fetch_row() mengambil data per baris. Data yang diambil dalam bentuk array, dimana elemen dari array adalah field-field dari tabel data.

Fungsi mysql_fetch_array()

Selain dengan mysql_fetch_row(), untuk mengambil data bisa digunakan fungsi mysql_fetch_array(). Perbedaannya pada mysql_fetch_array() hasil yang diperoleh dalam bentuk array asosiatif. Indeks dari asosiatif array berupa nama field yang ada pada tabel data.

1.7. Mengedit Data


Untuk mengedit data digunakan sintaks : UPDATE nama_table SET field1=nilai_baru field2=nilai_baru . WHERE syarat1, . <? // Mengedit data dengan nilai baru mysql_connect(localhost,eepis,its); mysql_select_db(akademik); $ubah=UPDATE datamhs SET nrp=321 WHERE nama=Daisy; $hasil=mysql_db_query(akademik,$ubah); ?>

1.8. Menghapus Data


Untuk menghapus data, digunakan sintaks berikut : DELETE FROM nama_table WHERE syarat1, syarat2, . <? // Menghapus data mysql_connect(localhost,eepis,its); mysql_select_db(akademik); $hapus=DELETE FROM datamhs WHERE nrp=321; $hasil=mysql_db_query(akademik,$hapus); ?>

Database Connection - 3

In Country Training 2002 Tessy Badriyah, SKom. MT.

1.9. Menambah, mengedit dan menghapus field tabel


Untuk menambah field pada tabel digunakan sintaks : ALTER TABLE nama_table ADD nama_field tipe_field atribut_field Contoh berikut ini akan menambahkan field alamat ke dalam tabel datamhs dengan tipe field varchar dan panjang field 40 karakter. <? // menambah field alamat ke dalam datamhs mysql_connect(localhost,eepis,its); mysql_select_db(akademik); $tambahfield=ALTER TABLE datamhs ADD alamat varchar(40); $hasil=mysql_db_query(akademik,$tambahfield); if ($hasil) echo Field alamat berhasil dibuat; else echo Field alamat gagal dibuat; ?> Untuk melakukan modifikasi atau perubahan terhadap field data dapat dilakukan dengan menggunakan sintaks : ALTER TABLE datamhs MODIFY nama_field type_field atribut_field

<? // mengubah struktur field alamat mysql_connect(localhost,eepis,its); mysql_select_db(akademik); $ubahfield=ALTER TABLE datamhs MODIFY alamat varchar(100); $hasil=mysql_db_query(akademik,$ubahfield); if ($hasil) echo Field alamat berhasil diubah; else echo Field alamat gagal diubah; ?> Untuk menghapus field data dapat dilakukan dengan menggunakan sintaks : ALTER TABLE datamhs DROP nama_field

<? // menghapus field alamat mysql_connect(localhost,eepis,its); mysql_select_db(akademik); $hapusfield=ALTER TABLE datamhs DROP alamat; $hasil=mysql_db_query(akademik,$hapusfield); if ($hasil) echo Field alamat berhasil dihapus; else echo Field alamat gagal dihapus; ?>

Database Connection - 4

In Country Training 2002 Tessy Badriyah, SKom. MT.

Bab II ADO Database Connection

2.1. Pendahuluan
ADO adalah salah satu teknologi yang dapat digunakan untuk mengakses database dari halaman web.

2.1.1. Apa yang dimaksud dengan ADO?


ADO merupakan teknologi Microsoft ADO singkatan dari ActiveX Data Objects ADO merupakan komponen Microsoft Active-X ADO secara otomatis diinstal bersama Microsoft IIS ADO adalah antar muka pemrograman (programming interface) untuk mengakses data dalam suatu database ADO dapat diakses dengan Active Server Pages

2.1.2. Mengakses Database dari halaman ASP


Cara untuk mengakses database dari halaman ASP : 1. 2. 3. 4. 5. 6. 7. Membuat koneksi ADO ke database Membuka (open) koneksi database Membuat ADO recordset Membuka recordset Mengekstrak data yang diperlukan dari recordset Menutup (close) recordset Close the connection

2.2. Melakukan Koneksi Database dengan ADO


2.2.1. Membuat DSN-less Database Connection
Sebelum database dapat diakses dari halaman web, harus dibangun terlebih dahulu koneksi ke database (database connection).

Database Connection - 5

In Country Training 2002 Tessy Badriyah, SKom. MT.


Cara paling mudah untuk melakukan koneksi ke database adalah dengan menggunakan DSN-less connection. DSN-less connection dapat digunakan dengan menggunakan Microsoft Access database. Jika terdapat sebuah file data dengan nama "northwind.mdb" berada di direktori web "c:/webdata/", maka untuk melakukan koneksi ke database dapat dengan menggunakan kode ASP berikut :

<% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" %>

2.2.3. Membuat ODBC Da tabase Connection


Jika terdapat ODBC database dengan nama "northwind" maka dapat dilakukan koneksi ke database dengan menggunakan kode ASP berikut : code:

<% set conn=Server.CreateObject("ADODB.Connection") conn.Open "northwind" %>

2.2.4. Koneksi ODBC ke Database Microsoft Access


Berikut ini adalah langkah-langkah untuk membuat koneksi ke database MS Access : 1. 2. 3. 4. 5. 6. 7. Buka icon ODBC icon pada Control Panel. Pilih tab System DSN. Klik Add pada tab System DSN. Pilih Microsoft Access Driver. Klik Finish. Pada tampilan berikutnya, klik Select untuk menentukan lokasi database. Tentukan Data Source Name (DSN) pada database tersebut. Klik OK.

Catatan : Konfigurasi tersebut dapat dilakukan pada komputer dimana halaman web anda berada. Jika anda menjalankan Personal Web Server (PWS) atau Internet Information Server (IIS) pada komputer anda sendiri, instruksi diatas akan bekerja, akan tetapi jika halaman web anda ditempatkan pada remote server, maka anda harus memiliki akses fisik ke server yang bersangkutan, atau minta web host untuk melakukan hal tersebut.

2.2.5. Obyek Koneksi ADO


Obyek koneksi ADO digunakan untuk membuat open connection ke data sumber (data source). Melalui koneksi ini, anda dapat melakukan akses dan memanipulasi suatu database.

Database Connection - 6

In Country Training 2002 Tessy Badriyah, SKom. MT.

2.3. ADO Recordset


Agar bisa membaca data dari suatu database, maka data tersebut terlebih dahulu harus di-load ke dalam suatu recordset.

2.3.1. Membuat Tabel Recordset ADO


Setelah koneksi database dengan ADO selesai dibuat, langkah selanjutnya adalah membuat Recordset dari ADO, agar supaya data yang ada dalam database dapat dibaca. Misalkan kita mempunyai database yang bernama "Northwind", di dalam database Northwind terdapat tabel "Customers" yang dapat kita akses dengan menggunakan baris perintah berikut :

<% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set rs=Server.CreateObject("ADODB.recordset") rs.Open "Customers", conn %>

2.3.2. Membuat SQL Recordset dengan ADO


Cara lain untuk mengakses data yang ada dalam database dapat dengan menggunakan perintah SQL seperti berikut ini:

<% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set rs=Server.CreateObject("ADODB.recordset") rs.Open "Select * from Customers", conn %>

2.3.3. Mengekstrak Data dari Recordset


Setelah recordset dibuka, maka data dapat diekstrak dari recordset tersebut. Tabel "Customers" dalam database Northwind dapat kita akses dan kita ekstrak isinya dengan menggunakan baris perintah berikut :

<% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0"

Database Connection - 7

In Country Training 2002 Tessy Badriyah, SKom. MT.


conn.Open "c:/webdata/northwind.mdb" set rs=Server.CreateObject("ADODB.recordset") rs.Open "Select * from Customers", conn for each x in rs.fields response.write(x.name) response.write(" = ") response.write(x.value) next %> 2.3.4. The ADO Recordset Object
Obyek Recordset ADO digunakan untuk menangani himpunan record dari suatu tabel database.

2.4. Tampilan ADO


Secara umum untuk menampilkan data dari recordset, adalah dengan menampilkan data ke dalam suatu tabel html.

Contoh
2.4.1. Menampilkan records Contoh berikut ini mendemonstrasikan bagaimana cara membuat koneksi ke database, membuat recordset, kemudian menampilkan data pada halaman HTML.

<html> <body> <% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open(Server.Mappath("northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") rs.Open "Select * from Customers", conn do until rs.EOF for each x in rs.Fields Response.Write(x.name) Response.Write(" = ") Response.Write(x.value & "<br />") next Response.Write("<br />") rs.MoveNext loop rs.close conn.close %> </body> </html>

Database Connection - 8

In Country Training 2002 Tessy Badriyah, SKom. MT.


2.4.2. Menampilkan records dalam tabel HTML Contoh berikut ini mendemonstrasikan cara menampilkan data dari tabel database ke dalam tabel HTML.

<html> <body> <% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open(Server.Mappath("northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") rs.Open "SELECT Companyname, Contactname FROM Customers", conn %> <table border="1" width="100%"> <%do until rs.EOF%> <tr> <%for each x in rs.Fields%> <td><%Response.Write(x.value)%></td> <%next rs.MoveNext%> </tr> <%loop rs.close conn.close %> </table> </body> </html>
2.4.3. Menambahkan headers ke tabel Contoh berikut mendemonstrasikan bagaimana cara menambahkan suatu header (judul kolom) ke dalam tabel HTML sehingga tabel lebih mudah dibaca isinya.

<html> <body> <% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open(Server.Mappath("northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") sql="SELECT Companyname, Contactname FROM Customers" rs.Open sql, conn %> <table border="1" width="100%"> <tr> <%for each x in rs.Fields

Database Connection - 9

In Country Training 2002 Tessy Badriyah, SKom. MT.


response.write("<th>" & x.name & "</th>") next%> </tr> <%do until rs.EOF%> <tr> <%for each x in rs.Fields%> <td><%Response.Write(x.value)%></td> <%next rs.MoveNext%> </tr> <%loop rs.close conn.close %> </table> </body> </html>

<html> <body> <% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open(Server.Mappath("northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") sql="SELECT Companyname, Contactname FROM Customers" rs.Open sql, conn %> <table border="1" width="100%" bgcolor="#fff5ee"> <tr> <%for each x in rs.Fields response.write("<th align='left' bgcolor='#b0c4de'>" & x.name & "</th>") next%> </tr> <%do until rs.EOF%> <tr> <%for each x in rs.Fields%> <td><%Response.Write(x.value)%></td> <%next rs.MoveNext%> </tr> <%loop rs.close conn.close %> </table> </body> </html>

Database Connection - 10

In Country Training 2002 Tessy Badriyah, SKom. MT.

2.5. ADO and SQL


Dengan menggunakan perintah SQL, data yang ditampilkan dalam halaman HTML dapat difilter atau diurutkan (sorting).

2.5.1. Menampilkan record-record pilihan Contoh berikut ini mendemonstrasikan cara untuk menampilkan suatu data yang sesuai dengan kriteria tertentu.

<html> <body> <% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open(Server.Mappath("northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") sql="SELECT Companyname, Contactname FROM Customers WHERE CompanyName LIKE 'A%'" rs.Open sql, conn %> <table border="1" width="100%"> <tr> <%for each x in rs.Fields response.write("<th>" & x.name & "</th>") next%> </tr> <%do until rs.EOF%> <tr> <%for each x in rs.Fields%> <td><%Response.Write(x.value)%></td> <%next rs.MoveNext%> </tr> <%loop rs.close conn.close %> </table> </body> </html>

Database Connection - 11

In Country Training 2002 Tessy Badriyah, SKom. MT.


2.5.2. Mengurutkan record-record pada file data sesuai dengan field tertentu Contoh berikut ini mendemonstrasikan cara untuk mengurutkan data sesuai nama field tertentu.

<html> <body> <% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open(Server.Mappath("northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") sql="SELECT Companyname, Contactname FROM Customers ORDER BY CompanyName" rs.Open sql, conn %> <table border="1" width="100%"> <tr> <%for each x in rs.Fields response.write("<th>" & x.name & "</th>") next%> </tr> <%do until rs.EOF%> <tr> <%for each x in rs.Fields%> <td><%Response.Write(x.value)%></td> <%next rs.MoveNext%> </tr> <%loop rs.close conn.close %> </table> </body> </html>

Daftar Pustaka
1. WWW.w3schools.com
2. M. Farid Azis. Pemrograman PHP 4 bagi Web Programmer, Elex Media Komputindo, Surabaya, 2001.

3. WWW.phpbuilder.com

Database Connection - 12

In Country Training 2002 Tessy Badriyah, SKom. MT.

Database Connection

Modul MySQL Connection ADO Connection

In Country Training 2002

Oleh : Tessy Badriyah

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA INSTITUT TEKNOLOGI SEPULUH NOPEMBER Surabaya, Pebruari 2002

Database Connection - 13

In Country Training 2002 Tessy Badriyah, SKom. MT.

Sekilas tentang ASP

File ASP berisi teks, tag HTML dan script. Script dalam file ASP dieksekusi pada server

Apa yang dimaksud dengan ASP?


ASP singkatan dari Active Server Pages ASP adalah program yang dijalankan dalam IIS IIS singkatan dari Internet Information Services IIS adalah salah satu komponen dari Windows 2000 IIS juga merupakan bagian dari Windows NT 4.0 Option Pack PWS adalah bagian yang lebih kecil tapi berfungsi secara penuh merupakan versi lain dari IIS PWS didapatkan pada CD Windows 95/98

Kompatibilitas ASP
ASP adalah Teknologi Microsoft IIS dapat dijalankan pada sistem operasi Windows NT 4.0 atau keatas PWS dapat dijalankan pada sistem operasi Windows 95 atau keatas InstantASP adalah teknologi yang dapat menjalankan ASP tanpa Windows

Apa yang dimaksud dengan file ASP?


File ASP pada dasarnya sama dengan file HTML File ASP berisi teks, HTML, XML, dan scripts Scripts dalam file ASP dieksekusi pada server File ASP file memiliki ekstensi ".asp"

Apa yang membedakan ASP dari HTML?


Pada saat browser me-request suatu file HTML, the server returns the file When a browser requests an ASP file, IIS passes the request to the ASP engine. The ASP engine reads the ASP file, line by line, and executes the scripts in the file. Finally, the ASP file is returned to the browser as plain HTML

Database Connection - 14

In Country Training 2002 Tessy Badriyah, SKom. MT.


Apa yang dapat dikerjakan oleh ASP ?
Dapat mengedit, merubah atau menambah isi dari halaman Web page secara dinamis Menanggapi permintaan query dari user atau data yang di-submit dari form HTML Mengakses data atau databases dan mengembalikan hasilnya ke browser. Mengkustomisasi halaman Web agar dapat lebih berdaya guna bagi user Keuntungan menggunakan ASP daripada CGI dan Perl, adalah kesederhanaan dan kecepatannya Menyediakan sekuritas (keamanan) karena kode ASP tidak dapat dilihat (di-view) dari browser.

Cara menjalankan ASP pada PC


ASP dapat dijalankan pada PC tanpa sebuah server eksternal. Untuk melakukan hal ersebut, t terlebih dahulu harus diinstall Personal Web Server (PWS) atau Internet Information Server (IIS) pada PC.

Database Connection - 15

Anda mungkin juga menyukai