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