无法使用 PHP 无效文件名连接到访问数据库

Posted

技术标签:

【中文标题】无法使用 PHP 无效文件名连接到访问数据库【英文标题】:Unable to connect to access database using PHP invalid file name 【发布时间】:2017-10-08 15:53:46 【问题描述】:

我正在尝试使用 php 连接访问数据库,

谷歌搜索太多,但仍然坚持:

<?php
    $dbName = "C:\Users\Parth\Documents\eTimeTrackLite1.mdb";
    $connection = odbc_connect("Driver=Microsoft Access Driver (*.mdb);Dbq=$dbName", '', '');
    $db = new PDO("odbc:DRIVER=Microsoft Access Driver (*.mdb);Dbq=$dbName");

几乎两个选项都显示相同的错误:

警告:odbc_connect():SQL 错误:[Microsoft][ODBC Microsoft Access Driver] 不是有效的文件名。,SQLConnect 中的 SQL 状态 S1000 在 C:\xampp\htdocs\deconnect\dconnect.php 第 3 行

【问题讨论】:

【参考方案1】:

在 PHP 中,\e 是一个特殊的 escape sequence,用于非字母数字字符(即十六进制符号):

\e 转义(十六进制 1B)

因此,您传递给连接字符串的文件路径(包含文件夹和文件名之间的\e)不是合法的 Windows 路径,可以通过以下示例看到:

<?php

echo "C:\Users\Parth\Documents\eTimeTrackLite1.mdb";
echo "\n";
echo "C:\Path\To\Database\File.mdb";
echo "\n";

?>

输出

要解决此问题,只需将e 附近的反斜杠加倍即可转义此符号:

echo "C:\Users\Parth\Documents\\eTimeTrackLite1.mdb";

或者更好的是,将所有反斜杠加倍:

echo "C:\\Users\\Parth\\Documents\\eTimeTrackLite1.mdb";

【讨论】:

以上是关于无法使用 PHP 无效文件名连接到访问数据库的主要内容,如果未能解决你的问题,请参考以下文章

用户帐户“root”的指定密码无效,或无法连接到数据库服务器

无法将 Wordpress 连接到 MySQL 数据库

打开就出现:错误提示为:“无法连接到 WMI 提供程序。您没有权限或者该服务器无法访问。请注意,你只能使

VMware Workstation 无法连接到虚拟机

VMware Workstation 无法连接到虚拟机

无法用php连接到mysql