我正在尝试使用 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驱动程序]不是有效的文件名。,第3行的C:\ xampp \ htdocs \ deconnect \ dconnect.php中的SQLConnect中的SQL状态S1000 < / p>
答案 0 :(得分:0)
在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";