Używanie PHP do odpytywania pliku MDB i zwracania JSON

Mam bazę danych Microsoft Access i próbuję wysłać zapytanie do tabeli przy użyciu PHP i wypisać poprawny JSON. Mam równoważny kod dla bazy danych MSSQL. Próbuję sprawić, aby mój kod robił to samo, ale tylko dla bazy danych Access.

Oto kod MSSQL

$myServer = "server";
$myDB = "db";
$conn = sqlsrv_connect ($myServer, array('Database'=>$myDB));

$sql = "SELECT *
        FROM db.dbo.table";

$data = sqlsrv_query ($conn, $sql);

$result = array();   

do {
    while ($row = sqlsrv_fetch_array ($data, SQLSRV_FETCH_ASSOC)) {
        $result[] = $row;   
    }
} while (sqlsrv_next_result($data));

$json = json_encode ($result);

sqlsrv_free_stmt ($data);
sqlsrv_close ($conn); 

Oto, co próbowałem dla pliku MDB

$dbName = "/filename.mdb";

if (!file_exists($dbName)) {
    die("Could not find database file.");
}

$db = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$dbName", $user, $password);

$sql = "SELECT *
        FROM cemetery";

$data = $db->query($sql); // I'm getting an error here
$result = array();   

// Not sure what do do for this part...
do {
    while ($row = fetch($data, SQLSRV_FETCH_ASSOC)) {
        $result[] = $row;   
    }
} while (sqlsrv_next_result($data));

$json = json_encode ($result);

Podążałem za tym, aby połączyć się z bazą danych:http://phpmaster.com/using-an-access-database-with-php/

Obecnie daje mi to 500 wewnętrznych błędów serwera. Oczekuję, że łańcuch taki jak ten zostanie zapisany w zmiennej$json

[
    {
        "col1":"col value",
        "col2":"col value",
        "col3":"col value",
    },
    {
        "col1":"col value",
        "col2":"col value",
        "col3":"col value",
    },
    {
        etc...
    }
]

Czy ktoś może mi pomóc w przeniesieniu kodu MSSQL, który mam powyżej, aby móc go używać z bazą danych MDB? Dzięki za pomoc!

EDYCJA: Komentuję wiersze po kolei i rzuca mi błąd 500 w linii$data = $db->query($sql);. Sprawdziłem dziennik błędów i otrzymuję błądCall to a member function query() on a non-object. Mam już linięextension=php_pdo_odbc.dll niekomentowany w moim pliku php.ini. Ktoś wie, jaki może być problem?

questionAnswers(4)

yourAnswerToTheQuestion