2017-07-13 5 views
0

Ich bekomme folgenden Fehler bei der Verwendung von PDO in PHP.Fehler beim Verbinden mit Access-Datenbank in PDO erhalten

Meine Datenbank ist in C:xmapp/htdocs und PHP-Datei ist in C:xmapp/htdocs/selftest/

Mein Fehler:

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

Mein Code:

$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

Was gibt '$ _SERVER ['DOCUMENT_ROOT'] 'für Sie aus und wird es erwartet? Haben Sie einen Schrägstrich anstelle von Backslash versucht, wie es scheint, dass Sie auf Windows sind? –

+0

Funktioniert nicht bitte geben Sie die Lösung –

Antwort

0

Aufkantung in Zeichenfolge muss maskiert werden . versuchen

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

oder einfach nach vorn

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

Schrägstrich verwenden, wie Schrägstrich nicht entgangen sein muss, aber noch funktioniert perfekt.

Überprüfen Sie auch, ob $ _SERVER ['DOCUMENT_ROOT'] auf den richtigen Ort zeigt.

+0

Ich versuchte sowohl vorwärts als auch rückwärts Schrägstrich, aber nicht funktioniert –

+0

Document Root ist der richtige Pfad? versuche absoluten Pfad (wenn es einen umgekehrten Schrägstrich hat, benutze stattdessen \\) –

+0

ja es ist korrekt wenn ich echo $ _SERVER ['DOCUMENT_ROOT'] es zeigt C:/xampp/htdocs –

Verwandte Themen