Привет, я пытаюсь использовать ODBC с php, и у меня, похоже, возникают некоторые проблемы. Это мой код:
<?php $connect = odbc_connect("digitallibrary", "root", ""); $sql = "SELECT name FROM books"; $result = odbc_exec($connect, $sql); echo $result; while (odbc_fetch_row($result)) { $name = odbc_result($result, "name"); print("$name\n"); } odbc_close($connect); ?>
Я также установил mysql odbc-коннектор и добавил эту систему DSN: Имя источника данных: digallibrary TCP / IP-сервер: localhost Port 80 user: root database: digitallibrary
Когда я запускаю свой код, я получаю это предупреждение, но ничего не печатаю:
Предупреждение: odbc_connect (): ошибка SQL: [Microsoft] [диспетчер драйверов ODBC] Указанный DSN содержит несоответствие архитектуры между драйвером и приложением, состояние SQL IM014 в SQLConnect в E: \ Program Files \ xampp \ htdocs \ DigitalLibrary \ index. php в строке 9
Предупреждение: odbc_exec () ожидает, что параметр 1 будет ресурсом, boolean задан в E: \ Program Files \ xampp \ htdocs \ DigitalLibrary \ index.php в строке 11
Предупреждение: odbc_fetch_row () ожидает, что параметр 1 будет ресурсом, null указан в E: \ Program Files \ xampp \ htdocs \ DigitalLibrary \ index.php в строке 14
Предупреждение: odbc_close () ожидает, что параметр 1 будет ресурсом, boolean задан в E: \ Program Files \ xampp \ htdocs \ DigitalLibrary \ index.php в строке 18
Что я делаю не так?
Теперь вы пытаетесь использовать 64-битное приложение с 32-разрядным драйвером ODBC или наоборот. Вы должны проверить, что вы используете PHP-приложение 64 бит или 32 бит . После этого вы должны запустить правильный администратор ODBC. Есть 2 типа, которые 32 bit
и 64 bit
.
Если вы используете 64-разрядный администратор ODBC: он находится в инструментах Adminstrative, панели управления
Если вы используете 32-разрядный администратор ODBC: вы должны перейти на путь
%windir\syswow64\odbcad32.exe.
Когда вы установили правильного администратора ODBC. Вам также необходимо создать системный DSN. Если вы не можете найти драйвер MS Access у администратора, вам нужно загрузить его для этой архитектуры.
EDIT : вы можете скачать 32 бит отсюда
Надеюсь это поможет.