Cara Koneksi PHP ke Microsoft (MS) Access
April 1st, 2009 | by rosihanari |
Cetak Artikel Ini
Banyak temen-temen saya baik di dunia maya dan juga di kampus, pengunjung blog ini, serta para mahasiswa yang menanyakan bagaimana cara melakukan koneksi dari PHP ke MS. Access. Wah… ngapain sih kok masih pada pake DBMS berlisensi itu? bukankah mahal tuh… bukannya sudah ada DBMS yang handal namun free, seperti halnya MySQL. Tapi gak papa sih kalo mampu beli he.. 3x
Bagi yang mau tahu cara melakukan koneksi dari PHP ke MS. Access, simak baik-baik artikel ini ya.
Oya.. 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. Saya disini membuat sebuah tabel yang saya berinama ‘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.
Nah.. setelah itu simpan file accessnya, misalkan saya simpan 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:
- Klik START > Control Panel > Administrative Tool > Datasources (ODBC)
- Klik tab menu System DSN
- Klik ADD
- 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.
- Isi Data Source Name dengan sebarang nama, misalkan ‘mahasiswa’. Untuk bagian Description boleh diisi, boleh tidak
- Selanjutnya pilih file MS. Access yang telah dibuat sebelumnya, dengan mengklik tombol SELECT
- Klik OK
Nah… 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:
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:
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. Nah.. password inilah yang nanti dituliskan dalam parameter odbc_connect() tersebut.
OK… koneksi dah beres, trus… bagaimana cara menjalankan query SQL melalui script PHP? Ini dia perintahnya
odbc_exec(koneksiHandler, query sql);
Parameter ‘koneksiHandler’ merupakan handling koneksi yang berasal dari odbc_connect().
Di bawah ini saya berikan contoh script PHP untuk menampilkan semua data yang ada dalam tabel ‘mhs’ yang tersimpan dalam database ‘mhs.mdb’ yang telah dibuat sebelumnya (dengan asumsi saya telah membuat data source bernama ‘mahasiswa’ pada ODBC)
<?php
$koneksi = odbc_connect("mahasiswa", "" , "");
$hasil = odbc_exec($koneksi, "SELECT * FROM mhs");
while ($data = odbc_fetch_array($hasil))
{
echo $data['nim']." ".$data['namamhs']."<br>";
}
?>
Keterangan:
Anda juga bisa menggunakan perintah odbc_fetch_row() dalam membaca record hasil query.
Mudah bukan? Tapi saya sarankan, sebaiknya gunakan MySQL deh… Selamat mencoba..
Oya… di dalam MS. Access, kita bisa membuat Referential Integrity seperti halnya di MySQL. Namun belum dicoba apakah jika kita berlakukan hal ini di MS. Access, maka ada pengaruh ketika menjalankan query updating, inserting dan deleting via script PHP. Tapi mestinya ada pengaruhnya. Silakan dicoba sendiri ya.. nanti kalau sudah, jangan lupa kasih komentar di blog ini
Anda ingin mendownload beberapa tool programming 100% gratis?
Silakan download di FREE PROGRAMMING TOOLS.
atau ingin berdonasi untuk pengembangan blog ini cukup dengan $1 via Paypal?
Beberapa artikel terkait
- Script INSERT Data Dengan PHP dan MS. Access
- Teknik Debugging Script PHP + MySQL
- Cara Cepat Merestrukturisasi Tabel dan Data
- Cara Mengenkripsi Script PHP Supaya Tidak Terbaca
- Script PHP Untuk Update Password Administrator
- Cara Mencari dan Mencegah Data NULL di MySQL
- Cara Membuat Query SQL Untuk Relasi Tabel
- Rahasia Dibalik Cara Pembuatan Program Tebak Angka
- Cara Mudah Membuat Grafik Statistik dengan PHP dan CSS
- Tips Membuat Script PHP Pengolah Password dengan MD5
Share this article on:
Kata kunci: database - koneksi - micorosft access - PHP -









pak guru tulisan ini yang saya sangat dinantikan
tapi kurang lengkap guru…
itukan hanya menampilkan saja
bagaimana cara mengisi nya…
saya sudah punya odbc konektor nya…
sekalian pak guru
1. input nya
2. mengedit nya juga
terima kasih atas perhatiannya
to rais: sabar ya mas rais… tunggu kelanjutannya. This topic won’t be concluded
[...] Artikel ini merupakan lanjutan dari artikel sebelumnya tentang cara koneksi PHP ke MS. Access. [...]
to rais: ini dah saya buatkan artikel bagaimana cara input data ke MS. Access dengan PHP
http://blog.rosihanari.net/script-insert-data-dengan-php-dan-ms-access/
Dear pak Ari,
saya new commer belajar tentang php.
saya biasa main data di .dbf.
data saya shp yang include dengan data yang berekstensi .dbf.
apakah bisa koneksi antara data tabel berekstensi .dbf
dengan PHP? bagaimana prosedurnya?
would you send me the answer to my email? please..
good luck
brg..
masud
to masud: maaf mas saya belum pernah bereksperimentasi dengan .dbf. Coba Anda baca artikel http://www.yinfor.com/blog/archives/2008/01/php_connect_dbf_file.html mungkin bisa sedikit membantu Anda.
Salam!
mas lngsung aza, aq khan lg bwat database pakai Access. dan udah selesai. cuman masalahnya aq msh gaptek tentang membuat agar file database aq bisa dibuka kompputer lain secara bersamaan menggunakan jaringan?
aq berharap mas mau membantu aq….?
dtunggu mas ya? atau boleh kirim ke alamat emailq di benjhol@gmail.com
maturnuwun!
to agus eko : sepertinya anda harus registerkan file access Anda ke ODBC di komputer servernya terlebih dahulu. Lalu pc clientnya koneksikan ke ODBC tersebut.
trims mas!
1.trus proses koneksi client ke ODBC server apa menggunakan cara koneksi jaringan sperti biasa?
2.apakah kegiatan printing juga bisa dilakukan di client tersebut, apabila masing2 komputer ada printernya?
terima kasih!
salam!
to agus eko: jadi gini mas.. misalkan anda punya file access di komputer A. Selanjutnya bila anda ingin melakukan koneksi ke file access ke komputer A tadi dari komputer B, maka anda harus buat koneksi ODBC dari komputer B ke A. Jadi membuat koneksi ODBC nya di komputer B. Tapi dengan syarat file access di komputer A tadi harus dishare supaya bisa dibaca via network. Printing via network juga bisa dilakukan.
Saya punya database MS. Access 2003 untuk perpustakaan saya. Dan saya ingin menjadikan database itu menjadi web based, mungkin dgn PHP dan MySQL, (maap saya belum mengerti), jadi seperti database yang dibuat oleh web developer gitu.
Gimana caranya mas? Harus konversi dulu ke MySQL dgn ODBC driver? Nanti gimana menjalankan database MySQL-nya?
Terima kasih.
to enda: anda dapat langsung menghubungkan Access ke PHP tanpa harus mengkonversi ke MySQL, dengan cara-cara seperti yang saya jelaskan di atas. Untuk artikel lain terkait bagaimana insert data dari PHP ke MS. Access, atau menghapus data dll, silakan Anda SEARCH di blog saya.
ooo jadi gitu ya mas, kirain yang hrs didaftarin ke odbc itu yang kom A.makasih mas sekarang udah jelas smuanya.
mas. mohon bantuanny, saya pake db mySQl n MS access. ketika search record dgn id tertentu di MS Access, ada record yg ngk bisa nampil. padahal id ny udah sama persis. knapa ya??
to eryl: coba cek dengan tipe data field yang anda gunakan sebagai kriteria pencariannya. Mungkin tidak sesuai dengan valuenya.
Aslm.. Mas, saya tertarik dengan artikel2 yg anda tulis. Saya mw nanya. Bagaimana cara untuk mambuat suatu program (yang dibuat dengan PHP) yang akan memanggil dua database yang berbeda (dengan MySQL dan FoxPro) yang mana kedua database tersebut juga berada di dua komputer yg terpisah. Apa hal tersebut bisa dilakukan?? Mohon bantuannya.. Trima Kasih..
Wslm..
to irfan: mm… saya belum pernah melakukan koneksi ke foxpro. Tapi bila koneksi ke multiple database dengan MySQL bisa saja mas. Asal jelas disebutkan nama server atau IP servernya di mysql_connect().
salam kenal, kalau di paradox untuk membuat secondary index pada tabel sudah bisa, tapi kalau di access dan interbase gimana ya? trims
to cahyo: maaf mas, saya blm pernah mencobanya.
maaf mas, newbie di php+access mo nanya…:D
saya punya file .accdb, yang sudah memiliki view-query didalamnya, bisa ga di script php/html query itu ditampilkan??
maksudnya kita ga perlu lagi membuat query di dalam script php/html, kalkulasi sudah dilakukan di acccdb, hanya menampilkannya saja di script php/html,jadi klo mo ada perubahan, ubek2nya di accdb, dengan syarat tidak merubah nama query, terimakasih
maaf mas, nyambung 1 lagi, saya punya script :
[deleted]
data sudah bisa di fetch, cm untuk nominalnya, di accdb di set Currency-Standar, setelah si browse yang muncul ko ga sesuai ya mas??
Rp. 900.000 munculnya 900000.0000 mohon masukan
to silda: mm… saya blm pernah nyoba tipe data currency sih. Tapi kalau seperti itu, mending Anda pakai tipe data integer atau float biasa saja.
to silda: maaf saya belum pernah mencobanya.
MAS
Setelah selesai buat ODBC MS Access di PC B, maka cara menjalankan aplikasi MA Access di PC B bagaimana mas?
thks
.-= d0jeng´s last blog ..Belajar Dari Negara Lain =-.
materinya sgt bgs..dan sgt m’bantu sy yg dlm tahap bljr program…
thnx…
bagus bgt tutorialx bang. tapi, saya mau tanya…apa bisa menghubungkan php dengan delphi…?. klo bisa mohon dibagi caranya.
saya mau coba memakai database delphi….
jadi penginputan datanya melalui program delphi dan untuk melihat hasilnya saya mau lewat php..thanx b4 bang..
satu pertanyaan lagi bang. di mysql klo kita buat database dan kolomnya pake tipe auto_inc. bgimana cranya mengembalikan keadaan berurutnya. misalnya ada 3 data. kmudian data k 2 dihapus nah, data k 3 ga brubah nomernya menjadi data k 2. jadi bagitu d input data baru maka langsung menjadi data k 4..jadi hasil akhirnya adalah:
1
3
4
bgimana cranya supaya data tersebut berurutan:
1
2
3
thanx b4 lg bang…wassalam
@hapis: nah… kebetulan ane dah punya artikelnya nih… coba baca Teknik Pengurutan Kembali ID Auto Increment Pada Record
kalau untuk software nya sendiri perlu diinstal lagi ngga’ mas,,,,,,, n apa software nya
@wein: software apa mas?
Dongke Schon, Terima kasih maksdnya..
Yups hari ini saya dapet banyak ilmu dari blog ini, sukses truz ya.. mas Ari, Salam dari Neter Aceh. Good Luck
jarang ada orang seperti anda yang mau membagikan ilmu yang anda dapat dan berguna untuk saya dan lainnya… semoga Alloh SWT memberikan pahala untuk anda dan semua orang yang mendptkan ilmu dari anda … AMIIN
Asalamualikum pa Ari..
klo bleh saya mo bertanya..
Apakah PHP hanya digunakan untuk pembuatan web? Atau apakah PHP bisa digunakan untuk merancang suatu aplikasi yang memiliki tampilan destop sendiri, tanpa bergantung pada browser??
Saya sangat membutuhkan jawaban ini..
terimakasih sebelumnya.
@zony: wa’alaikumussalaam. PHP bisa digunakan untuk membangun aplikasi/software yang berbasis web. Website itu kan sebenarnya juga termasuk software juga.
menyambung pertanyaan sebelumnya..
seperti itu ya pa,
tp apa aplkasi dari PHP bisa berjalan tanpa menggunakan web browser, dengan kata lain memiliki windows sendiri, seperti aplikasi yang di hasilkan dari VB yang dapat dijadikan *.exe ??
kalau tanpa odbc bisa ga menampilkan data acces dengan php, contohnya file access kita pilih melalui form browse file yang kita buat sendiri dan kemudian kita tampilkan seluruh isinya…
Akhirnya setelah mencari-cari ketemu juga caranya dengan menggunakan koneksi adodb Mungkin anda bingung untuk mengupload data base anda di access ke my sql dengan mebuat coding php sendiri. Hal ini mungkin anda perlukan apabila anda membuat aplikasi web base dengan data bese local yang kemudian akan diupload ke databse pusat sewaktu-waktu. Mungkin contoh ini dapat membantu anda dan dapat anda kembangkan lebih baik lagi. Buatlah Database Access dengan nama tes.mdb dan tabel dengan nama tes yang terdiri dari field a,b,c dengan tipe data text Buatlah database Mysql dengan nama database tes dan tabel tes yang terdiri dari field a,b,c dengan tipe data text Kemudian kita buat halaman form upload dengan judul form.php yang digunakan untuk memilih file data access yang akan kita upload datanya ke mysql
<html> <head> <title>Form Upload</title> </head> <body> <form action="upload_data.php" method="post" enctype="multipart/form-data"> <label> <input type="file" name="file" /> </label> <label> <input type="submit" name="Submit" value="Submit" /> </label> </form> </body> </html>Buat halaman upload_data.php untuk menjalankan instruksi upload data access ke my sql dengan coding sebagai berikut:
Coba anda jalankan script di atas. Konsep ini selanjutnya dapat anda kembangkan untuk mengupload seluruh tabel yang terdapat data base access dan dapat anda piplih data mana saja yang ingin anda upload dalam suatu dabel dengan menambahkan kondisi “where” pada fungsi select dalam query. Selamat mencoba …. Semoga Bermanfaat…
salam knal mas,q lg buat koneksi ms access ke php ne,dh sy ikut langkah2 yg mas paparkan, tp kok ttp g bisa y? muncul error:
Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified, SQL state IM002 in SQLConnect in C:\xampp\htdocs\perpus\modul\contohodbc.php on line 3
“Warning: odbc_exec(): supplied argument is not a valid ODBC-Link resource in C:\xampp\htdocs\perpus\modul\contohodbc.php on line 4
Warning: odbc_fetch_array(): supplied argument is not a valid ODBC result resource in C:\xampp\htdocs\perpus\modul\contohodbc.php on line 5″
padahal dns-nya dh sama dngan yg dibuat di odbc–>controlpanel.
sy menggunakan xampp 1.6.6.
@steve: sudahkah Anda buat data source name nya? kok dari errornya sepertinya belum di buat.
Betul. PHP + Mysql.
Kenapa access?
Misal:
Program penggajian biasanya import absensi yang tentu saja dari mesin yang umumnya cuma bisa tulis ke Access:)..
Gitu..
Bagus referensinya
Betul PHP+Mysql.
.
Tapi program penggajian butuh itu..
Biasanya mesin itu hanya bisa export ke access..
Tentu saja good article loww.
Mass, makasih atas ilmunya…
mo nanya dong…
kalo untuk upload data ke database access dari *.txt gimana yah contoh scriptnya?… trus juga kalo menggunakan form di acces kan bisa menampilkan filedialogpicker buat browse data.. kalo menggunakan script php gimana caranya yah?… trus satu lagi nih, untuk menampilkan pesan berupa MsgBox gimana caranya yah..?
sekali lagi terima kasih buat ilmunya….
@joni_rd: maaf mas, saya belum tahu cara upload data ke access. File dialog picker otomatis muncul jika kita pakai komponen <input type=”file” name=”…”> seperti yang ada di contoh http://blog.rosihanari.net/ide-membuat-script-upload-download-file-dengan-batasan-hak-akses
saya sdng belajar koneksi access dgn PHP, makasih panduannya