我正在尝试使用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: 数据源名称:digitallibrary TCP / IP服务器:localhost端口80 用户:root 数据库:数字图书馆
当我运行我的代码时,我收到了这个警告,但没有打印出来:
警告:odbc_connect():SQL错误:[Microsoft] [ODBC驱动程序管理器]指定的DSN包含驱动程序和应用程序之间的体系结构不匹配,E:\ Program Files \ xampp \ htdocs \ DigitalLibrary中SQLConnect中的SQL状态IM014 9号线上的\ index.php
警告:odbc_exec()期望参数1是资源,给定布尔值 在第11行的E:\ Program Files \ xampp \ htdocs \ DigitalLibrary \ index.php
警告:odbc_fetch_row()期望参数1为resource,null 在E:\ Program Files \ xampp \ htdocs \ DigitalLibrary \ index.php中给出 第14行
警告:odbc_close()期望参数1是资源,布尔值 在E:\ Program Files \ xampp \ htdocs \ DigitalLibrary \ index.php中给出 第18行
我做错了什么?
答案 0 :(得分:2)
现在,您正在尝试使用带有32位ODBC驱动程序的64位应用程序,反之亦然。您应该检查您使用的是64位或32位的PHP应用程序。之后,您必须启动正确的ODBC管理员。有两种类型32 bit
和64 bit
。
如果您使用的是64位ODBC管理员:它位于管理工具,控制面板
中如果您使用的是32位ODBC管理员:您应该进入路径
%windir\syswow64\odbcad32.exe.
设置正确的ODBC管理员后。您还需要创建系统DSN。如果您在管理员中找不到MS Access驱动程序,则需要为该架构下载一个。
编辑:您可以从here
下载32位希望这有帮助。