Łączyć się z bazą można przy pomocy funkcji odbc_connect() zaimplementowanej w PHP. Aby to działało, należy mieć zainstalowane w systemie kilka paczek:
- php5-odbc
- unixodbc, unixodbc-bin
- mdbtools, mdbtools-dev
można również zainstalować mdbtools-gmdb, dzięki czemu wzbogacimy się o graficzne narzędzie do przeglądu i eksportu zawartości baz *.mdb.
Następnie należy edytować plik /etc/odbc.ini i wkleić tam coś na kształt tego:
[nazwabazy] Description = Moja mala baza Driver = /usr/lib/libmdbodbc.so Database = /home/ja/baza.mdb
Teraz można już połączyć się z bazą z PHP:
$conn=odbc_pconnect('nazwabazy','','') or die(odbc_error()); $query="SELECT * FROM tabela"; $result=odbc_exec($conn,$query) or die(odbc_error()); while (odbc_fetch_row($result)) { $pole1=odbc_result($result,"imie"); $pole2=odbc_result($result,"nazwisko"); echo $pole1." ".$pole2."<br>"; } odbc_close($conn);
Przy użyciu mdbtools i unixodbc możliwy jest jedynie odczyt bazy *.mdb. Tym samym nie działają zapyania INSERT INTO, UPDATE, ALTER itd.
Jeśli ktoś wie, w jaki sposób zapisywać do takiej bazy pod Linuksem, proszę o komentarz.