2017-07-13 67 views
0

在php中使用pdo時出現以下錯誤。與pdo中的訪問數據庫連接時出現錯誤

我的數據庫是C:xmapp/htdocs和PHP文件是C:xmapp/htdocs/selftest/

我的錯誤:

Error:SQLSTATE[HY000] SQLDriverConnect: -1811 [Microsoft][ODBC Microsoft Access Driver] Could not find file '(unknown)'.

我的代碼:

$database_path = $_SERVER['DOCUMENT_ROOT']."\Database11.mdb"; 
//echo $database_path; die; 
try 
{ 
$conn = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$database_path; Uid=$db_username; Pwd=$db_password;"); 
$conn->setAttribute("PDO::ATTR_ERRMODE,PDO::ERRMODE_Exception"); 
$stmt=$conn->prepare("insert into user_details(firstname,lastname,filename,sex,qualification) values('$firstname','$lastname','$filename','$sex','$qualification')"); 
$stmt->exceute(); 
} 
catch(PDOException $e) 
{ 
    echo "Error:".$e->getMessage(); 
} 
$conn=null; 
+0

'$ _SERVER ['DOCUMENT_ROOT']'爲您輸出什麼,它是預期的?你是否嘗試過正斜槓而不是反斜槓,因爲它看起來像你在Windows上? –

+0

不能正常工作請給解決辦法 –

回答

0

反斜線字符串需要進行轉義。嘗試

$database_path = $_SERVER['DOCUMENT_ROOT']."\\Database11.mdb"; 

或者乾脆用斜線

$database_path = $_SERVER['DOCUMENT_ROOT']."/Database11.mdb"; 

爲正斜槓沒有進行轉義,但仍然完美。

還檢查$ _SERVER ['DOCUMENT_ROOT']是否指向正確的位置。

+0

我試過正反斜槓但不能正常工作 –

+0

文件根目錄是否正確?嘗試絕對路徑(如果它反斜槓使用\\) –

+0

是的,這是正確的,當我回聲$ _SERVER ['DOCUMENT_ROOT']它顯示C:/ xampp/htdocs –