在连接pdo中的访问数据库时出错

时间:2017-07-13 10:49:56

标签: php sql

我在php中使用pdo时遇到以下错误。

我的数据库位于C:xmapp/htdocs,php文件位于C:xmapp/htdocs/selftest/

我的错误:

  

错误:SQLSTATE [HY000] SQLDriverConnect:-1811 [Microsoft] [ODBC Microsoft Access驱动程序]找不到文件'(未知)'。

我的代码:

$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;

1 个答案:

答案 0 :(得分:0)

字符串中的反斜杠需要进行转义。尝试

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

或只是使用正斜杠

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

因为正斜杠不必被转义,但仍能完美运行。

同时检查$ _SERVER [' DOCUMENT_ROOT']是否指向正确的位置。