';Microsoft Access驱动程序(*.mdb)和#x27;:未找到文件';在php中将pdo与odbc连接时出错

';Microsoft Access驱动程序(*.mdb)和#x27;:未找到文件';在php中将pdo与odbc连接时出错,php,pdo,Php,Pdo,我正在尝试使用PDO和odbc连接Microsoft access数据库。我已将文件装载到网络驱动器上,并尝试访问它们,但出现以下错误: 带有消息“SQLSTATE[01000]SQLDriverConnection:0[unixODBC][Driver Manager]的PDOException”无法打开库“Microsoft Access驱动程序(*.mdb)”:找不到文件 这是我的密码: $dbName = "/info/new.mdb"; if (!file_exists($dbNam

我正在尝试使用PDO和odbc连接Microsoft access数据库。我已将文件装载到网络驱动器上,并尝试访问它们,但出现以下错误:

带有消息“SQLSTATE[01000]SQLDriverConnection:0[unixODBC][Driver Manager]的PDOException”无法打开库“Microsoft Access驱动程序(*.mdb)”:找不到文件

这是我的密码:

$dbName = "/info/new.mdb";

if (!file_exists($dbName)) {
    die("Could not find database file.");
}
$database = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq= $dbName;Uid=admin");

首先,确保在php.ini文件中激活odbc扩展。只需删除
以启用它

;extension=php_pdo_odbc.dll
然后,对于连接,请使用具有适当约定的确切文件位置(应使用反斜杠)。下面是一个例子

try {
    $file_location = "C:\Users\PC1\Desktop\your_database.mdb";
    $dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=$file_location;Uid=Admin");

    //Do your program stuffs here

    $dbh = null;
} catch (PDOException $e){
    echo $e->getMessage();
}

首先,确保在php.ini文件中激活odbc扩展。只需删除
以启用它

;extension=php_pdo_odbc.dll
然后,对于连接,请使用具有适当约定的确切文件位置(应使用反斜杠)。下面是一个例子

try {
    $file_location = "C:\Users\PC1\Desktop\your_database.mdb";
    $dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=$file_location;Uid=Admin");

    //Do your program stuffs here

    $dbh = null;
} catch (PDOException $e){
    echo $e->getMessage();
}

MS Access只能在需要反斜杠作为文件引用的Windows环境中使用。对于PHP,使用双倒斜杠而不是正斜杠。那么我如何访问文件呢?环境:Windows那么为什么使用正斜杠呢?您是否尝试了我在第一条评论中建议的反斜杠?我的意思是您这样说:\\info\\new.mdb?MS Access只能在需要反斜杠作为文件参考的Windows环境中使用。对于PHP,使用双倒斜杠而不是正斜杠。那么我如何访问文件呢?环境:Windows那么为什么使用正斜杠呢?您是否按照我在第一条评论中的建议尝试过反斜杠?我的意思是您这样说:\\info\\new.mdb?