Łą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.

Dodano 24/01/2009 o 19:16 przez ylk
Kategoria: Linux, PHP, SQL
Tagi: , , , , , ,