我试图使用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:数据源名称:digitallibraryTCP/IP Server: localhost 80端口用户:根数据库:digitallibrary
当我运行我的代码,我得到这个警告,但没有打印:
警告:odbc_connect(): SQL error: [Microsoft][ODBC Driver Manager]指定的DSN包含驱动程序和应用程序之间的架构不匹配,SQL状态IM014在SQLConnect in E:'Program Files'xampp'htdocs'DigitalLibrary'index.php on line 9
警告:odbc_exec()期望参数1为resource, boolean给定在E:'Program Files'xampp'htdocs'DigitalLibrary'index.php on line 11
警告:odbc_fetch_row()期望参数1为resource, null给出在E:'Program Files'xampp'htdocs'DigitalLibrary'index.php on第14行
警告:odbc_close()期望参数1为resource, boolean给出在E:'Program Files'xampp'htdocs'DigitalLibrary'index.php on第18行
我做错了什么?
现在,您正在尝试使用64位应用程序和32位ODBC驱动程序,反之亦然。您应该检查您使用的PHP应用程序是64位还是32位。之后,您必须启动正确的ODBC管理员。有32 bit
和64 bit
两种类型。
如果您使用的是64位ODBC管理员:它位于管理工具,控制面板
如果您使用的是32位ODBC管理员:您应该进入路径
%windir'syswow64'odbcad32.exe.
设置了正确的ODBC管理员。您还需要创建系统DSN。如果在管理员中找不到MS Access驱动程序,则需要为该体系结构下载一个。
EDIT:您可以从这里下载32位