Подключение к базе данных MS Access с PHP на Linux - PullRequest
2 голосов
/ 25 марта 2020

Мой клиент уже несколько лет работает на сервере Windows, но сейчас мы переходим на отдельную машину Linux для веб-приложения, которое я создал для них. В настоящее время мы запускаем PHP на сервере Windows, на котором мы можем подключиться к файлу MDB, который находится на том же диске. Это файл от внешнего участника, веб-приложение использует MySQL. В новой настройке у нас есть веб-сервер Linux (Apache / MySQL / PHP) и сервер Windows 2016, которые подключены через VPN, и мы смонтировали общий ресурс на сервере Windows, в котором находится файл MDB. расположен. Пока все хорошо, но я не могу запросить файл MDB. Соединение установлено, а не ошибка, но каждый запрос, который я запускаю, возвращает ошибку или ничего не уверенного. Это мой код:

<?php
$db=new PDO("odbc:Driver=MDBTools; DBQ=/mnt/<dir>/<file>.mdb;");
$query=$db->query("SELECT * FROM <table>;");

$return=array();
if($query) {
     while($result=$query->fetch(PDO::FETCH_ASSOC)) {
         $return[]=$result;
     }
}else $return['error']=1;

//close
$query=null;
$db=null;

print_r($return);
?>

В настоящее время все возвращает ошибку> 1.

PDO выдает следующую ошибку:

Connection failed: SQLSTATE[08001]: Client unable to establish connection: 1 Couldn't parse SQL (SQLExecute[1] at /build/php7.2-pRoOsC/php7.2-7.2.24/ext/pdo_odbc/odbc_stmt.c:260)

1 Ответ

1 голос
/ 25 марта 2020

Я нашел решение моей проблемы, удалив; из запроса.

...