Anda di halaman 1dari 4

KONEKSI MS.

ACCESS DENGAN PHP


bagaimana cara melakukan koneksi dari PHP ke MS. Access. perlu diketahui bahwa untuk menjembatani
koneksi antara PHP dan MS. Access, kita nantinya akan menggunakan ODBC.

Sebagai contohnya, misalkan kita buat database di MS. Access tentang data mahasiswa. disini membuat
sebuah tabel yanG diberi nama ‘mhs’ dan didalamnya terdapat 2 field saja, misal ‘nim’ dan ‘namamhs’,
dengan ‘nim’ sebagai primary key-nya. Selain itu, Anda juga bisa tambahkan beberapa record di dalam
tabel tersebut sebagai sampel saja. setelah itu simpan file accessnya, misalkan disimpan dengan nama
‘mhs.mdb’ atau ‘mhs.accdb’ jika Anda menggunakan MS. Office 2007.

Setelah dibuat file databasenya, selanjutnya kita buat ‘Datasource Name’ di dalam ODBC. Datasource
name ini nanti kita arahkan ke file database access yang telah kita buat tadi. Bagaimana cara membuat
‘datasource name’ ini? Ini dia langkah-langkahnya:

1. Klik START > Control Panel > Administrative Tool > Datasources (ODBC)
2. Klik tab menu System DSN
3. Klik ADD
4. Pilih nama driver yang sesuai, dalam hal ini dipilih Microsoft Access Driver (*.mdb) atau
Microsoft Access Driver (*.mdb, *.accdb) bila file MS. Access Anda menggunakan MS Office
2007.

5. Isi Data Source Name dengan sebarang nama, misalkan ‘mahasiswa’. Untuk bagian Description
boleh diisi, boleh tidak
6. Selanjutnya pilih file MS. Access yang telah dibuat sebelumnya, dengan mengklik tombol
SELECT

7. Klik OK

Kita baru saja membuat sebuah data source bernama ‘mahasiswa’ dalam ODBC yang diarahkan ke file
MS. Access yang telah dibuat. Berikutnya, kita sudah bisa membuat script PHP untuk koneksi ke data
source ‘mahasiswa’ tersebut melalui ODBC.

Perintah PHP untuk melakukan koneksi ke data source tertentu melalui ODBC adalah:

1.odbc_connect("nama data source", "user name", "password");

Parameter ‘username’ dan ‘password’ di atas merupakan username dan password dalam mengakses file
MS. Access nya. Seandainya file MS. Access nya tidak dikasih username dan password, maka ditulis
string kosong saja. Contoh:

1.odbc_connect("mahasiswa", "", "");

Trus… bagaimana bila Anda ingin memberi password pada file MS. Accessnya? Caranya adalah klik OPEN
pada MS. ACCESS, lalu pilih file MS. ACCESS yang ingin Anda beri password, dan bukalah melalui mode
‘OPEN EXCLUSIVE’ (lihat gambar di bawah).

Langkah terakhir pilih menu DATABASE TOOL > SET DATABASE PASSWORD. password inilah yang nanti
dituliskan dalam parameter odbc_connect() tersebut. koneksi sudah beres, bagaimana cara
menjalankan query SQL melalui script PHP? Ini dia perintahnya

1.odbc_exec(koneksiHandler, query sql);

Parameter ‘koneksiHandler’ merupakan handling koneksi yang berasal dari odbc_connect().

Di bawah ini contoh script PHP untuk menampilkan semua data yang ada dalam tabel ‘mhs’ yang
tersimpan dalam database ‘mhs.mdb’ yang telah dibuat sebelumnya (dengan asumsi telah membuat
data source bernama ‘mahasiswa’ pada ODBC)
01.<?php
02.
03.$koneksi = odbc_connect("mahasiswa", "" , "");
04.$hasil = odbc_exec($koneksi, "SELECT * FROM mhs");
05.while ($data = odbc_fetch_array($hasil))
06.{
07.echo $data['nim']." ".$data['namamhs']."<br>";
08.}
09.
10.?>

Keterangan:
Anda juga bisa menggunakan perintah odbc_fetch_row() dalam membaca record hasil query.

Script INSERT Data Dengan PHP dan


MS. Access
bagaimana cara membuat script PHP untuk insert data ke MS. Access melalui sebuah form. Dalam contoh ini misalkan kita
memiliki sebuah tabel, bernama ‘mhs’ yang di dalamnya terdapat 5 buah field yaitu NIM, NAMA MAHASISWA, TGL
LAHIR, BERAT BADAN, dan IQ. contoh ini dicoba membuat field dengan tipe data yang berbeda-beda. Kalau misalkan
semuanya bertipe ‘string’ atau ‘text’.
Untuk NIM digunakan tipe data TEXT (diset sebagai PRIMARY KEY), NAMA MAHASISWA juga TEXT, TGL LAHIR
saya gunakan tipe DATE/TIME, BERAT BADAN saya pilih NUMBER dalam hal ini bertipe SINGLE (bilangan real) dan
IQ saya pilih NUMBER dalam hal ini LONG INTEGER atau INTEGER.
untuk langkah pertama, silakan buat dahulu database dan tabelnya menggunakan MS. Access. Recordnya untuk sementara
kosongkan saja, karena kita coba menginsert record melalui form yang kita buat dengan PHP dan HTML.

Langkah kedua silakan buat data source name di ODBC yang selanjutnya diarahkan ke file database MS. Access yang dibuat
tersebut. Langkah ketiga, kita buat form untuk input datanya.
form.html
01.<h1>Input Data Mahasiswa</h1>
02.
03.<form method="post" action="proses.php">
04.<table>
05. <tr><td>NIM</td><td><input type="text" name="nim" /></td></tr>
06. <tr><td>Nama Mhs</td><td><input type="text" name="nama" /></td></tr>
07. <tr><td>Tanggal Lahir</td><td><input type="text" name="tgllahir" /></td></tr>
08. <tr><td>Berat (Kg)</td><td><input type="text" name="berat" /></td></tr>
09. <tr><td>IQ</td><td><input type="text" name="iq" /></td></tr>
10. <tr><td></td><td><input type="submit" name="submit" value="Submit" /></td></tr>
11.</table>
12.</form>

Langkah keempat, kita buat script PHP untuk memproses input datanya (memasukkan data ke MS. Access).

Pada prinsipnya, caranya sama seperti kita membuat script INSERT data dengan PHP + MySQL. Ini dia scriptnya.

proses.php
01.<?php
02.
03.// misalkan data source namenya 'mahasiswa', password dan username kosong
04.$conn = odbc_connect("mahasiswa", "", "");
05.
06.$nim = $_POST['nim'];
07.$nama = $_POST['nama'];
08.$tgllahir = $_POST['tgllahir'];
09.$berat = $_POST['berat'];
10.$iq = $_POST['iq'];
11.
12.$query = "INSERT INTO mhs VALUES ('$nim', '$nama', '$tgllahir', $berat, $iq)";
13.$hasil = odbc_exec($conn, $query);
14.
15.if ($hasil) echo "Input data sukses";
16.else echo "Input data gagal";
17.
18.?>
setelah selesai silakan Anda coba input datanya. Pasti akan tersimpan ke MS. Accessnya. Untuk input data berupa tanggal,
Anda bisa menuliskan dalam format seperti di MySQL yaitu tahun-bulan-tanggal atau ‘YYYY-mm-dd’, misal: 1979-09-01
untuk menuliskan 1 September 1979. karena field NIM sebelumnya kita set sebagai PRIMARY KEY, maka bila Anda
masukkan data NIM yang sama akan muncul pesan kesalahan seperti ini:
1.Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC Microsoft Access
Driver] The changes you requested to the table were not successful because they would create
duplicate values in the index, primary key, or relationship. Change the data in the field or
fields that contain duplicate data, remove the index, or redefine the index to permit duplicate
entries and try again., SQL state 23000 in SQLExecDirect in F:\proses.php on line 12
2.Input data gagal
pesan itu muncul karena ada duplikasi data pada field NIM. Mungkin Anda ingin supaya pesan tersebut tidak muncul.
Meskipun di script kita berikan statement:

1.if ($hasil) echo "Input data sukses";


2.else echo "Input data gagal";
namun… pesan itu tetap saja muncul atau meskipun kita berikan perintah

1.$hasil = odbc_exec($conn, $query) or die("Input Gagal");


pesan WARNING itu tetap saja muncul. Nah… bagaimana supaya pesan tersebut hilang? dan yang muncul hanya pesan
‘Input Data Gagal’ saja? Untuk menyembunyikan pesannya Anda harus mengubah konfigurasi di file
konfigurasi php.ini nya. Cari parameter
1.display_errors = On
dan ubahlah menjadi

1.display_errors = Off
Simpan kembali php.ini nya, dan lakukan restart Apache.

Anda mungkin juga menyukai