gpt4 book ai didi

php - 使用 ODBC 使用 msaccess 创建 PHP PDO 连接时出现 fatal error

转载 作者:行者123 更新时间:2023-12-05 04:10:55 24 4
gpt4 key购买 nike

出于某些原因,我需要在我的 PHP 应用程序中使用 ms-access,因此我在 WAMP 中启用了 php_pdo_odbc 扩展。在 phpinfo()

中显示

但是我无法连接数据库,它返回以下错误。

( ! ) Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[IM002] SQLDriverConnect: 0 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified' in C:\wamp64\www...\portals...\config.php on line 15

( ! )> PDOException: SQLSTATE[IM002] SQLDriverConnect: 0 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified in C:\wamp64\www...\portals...\config.php on line 15

$db_username = ''; //username
$db_password = ''; //password

//path to database file
$database_path = "StudentLogInData.mdb";

//check file exist before we proceed
if (!file_exists($database_path)) {
die("Access database file not found !");
}

//create a new PDO object
$database = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=realpath($database_path); Uid=$db_username; Pwd=$db_password;");

我在 Windows 7(64 位)上使用 WAMP 64 位版本。搜索了很多 Stackoverflow 的解决方案,例如尝试运行 32 位版本,但无法在 64 位上安装。请帮助如何让它工作?

最佳答案

realpath()是一个 PHP 函数,不是 ODBC 驱动程序理解的东西。您可能希望将其从 DSN 中删除:

$database_path = realpath("StudentLogInData.mdb");
$database = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=$database_path; Uid=$db_username; Pwd=$db_password;");

关于驱动程序名称,您需要在开始 菜单中键入 ODBC 并验证给定名称在您的驱动程序 选项卡中可用:

ODBC Manager

关于php - 使用 ODBC 使用 msaccess 创建 PHP PDO 连接时出现 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43655024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com