2017-10-08 29 views
0

我试图用PHP访问数据库连接来访问数据库,无法连接使用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"); 

选项显示了同样的错误:

Warning: odbc_connect(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Not a valid file name., SQL state S1000 in SQLConnect in C:\xampp\htdocs\deconnect\dconnect.php on line 3

回答

0

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

\e escape (hex 1B)

因此,文件路径(包含文件夹和文件名之间\e)要传递到连接字符串失败是可以与下面的例子中可以看出合法的Windows路径:

<?php 

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

?> 

输出

Command Line Output Original

要解决,只需双击近反斜杠逃离这个符号:

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

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

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

Command Line Output Fix