Я пытаюсь подключить php-сервер к базе данных доступа к ms, и я пробовал все, что еще не могу подключиться.Соединение с PHP MS Access не работает
Вот мой код
<?php
$conn=odbc_connect('testdb','','');
//$conn=odbc_connect("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\wamp\www\test\testdb.accdb", '', '');
if (!$conn) {
exit("Connection Failed: " . $conn);
}
$sql="SELECT * FROM testdb";
$rs[]=odbc_exec($conn,$sql);
if (!$rs) {
exit("Error in SQL");
}
while (odbc_fetch_row($rs)) //<-------line 14
{
$json_output[] = odbc_result($rs, "test");
print(json_encode($json_output));
}
odbc_close($conn);
?>
Если я использую
$conn=odbc_connect('testdb','','');
тогда я получаю следующее сообщение об ошибке
Warning: odbc_fetch_row() expects parameter 1 to be resource, array given in C:\wamp\www\test\new 1.php on line 14
, если я использую
$conn=odbc_connect("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\wamp\www\test\testdb.accdb", '', '');
, тогда я получаю ниже строки как ошибку.
Warning: 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:\wamp\www\test\new 1.php on line 3
Я отредактировал мой файл php.ini включить Odbc расширение
;extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll <--- here
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
Также я скачал и установил Microsoft Access Database Engine 2010 Redistributable от this link.
Также я попробовал все, что показано in this video.
Я также сделал точно то, что написано в принятом ответе in this link, и я запускаю 64-разрядную версию WampServer версии 2.4 на 64-битном Windows 7, а также имеет 64-разрядный офис Microsoft.
Извините за мой плохой английский, и я новичок в php и подключен к ms-доступу. Я подключился к mysql, но никогда не получал доступа.
У вас есть сценарий 'echo (8 * PHP_INT_SIZE). "-бит
"; '. Результат («32-разрядный» или «64-разрядный») должен соответствовать версии установленного вами компонента Database Database Engine. –
он дает мне 32-битный выход. Он должен быть 64 бит ?? –
Хммм. Ответ [здесь] (http://stackoverflow.com/a/3233881/2144390) предполагает, что вышеупомянутый тест * может * ввести в заблуждение. Можете ли вы создать.mdb для тестирования и попробуйте подключиться к нему с помощью 'Driver = {Microsoft Access Driver (* .mdb)}' (без «, * .accdb»)? –