使用PHP连接到Access数据库

时间:2013-11-21 19:58:01

标签: php ms-access

我有一个简单的访问数据库,我试图使用PHP连接。如果我使用此连接字符串:

$conn = new COM('ADODB.Connection') or exit('Cannot start ADO.');
$rs = new COM("ADODB.RecordSet") or exit('Cannot start Recordset.');
$connstring = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\\Intranet\\is3\\new_site\\backend\\database\\blog.mdb";
$conn->Open($connstring) or exit('Cannot open with driver.');

如果我执行此操作,则显示"无法打开驱动程序"信息。但是,如果我尝试使用它:

$conn = new COM('ADODB.Connection') or exit('Cannot start ADO.');
$rs = new COM("ADODB.RecordSet") or exit('Cannot start Recordset.');
$connstring = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=D:\\Intranet\\is3\\new_site\\backend\\database\\blog.mdb";
$conn->Open($connstring) or exit('Cannot open with driver.');

它没有显示任何消息,并且似乎只是停在$ conn->打开的行(此后我还有其他代码来显示不运行的信息)。我没有得到任何错误消息或任何东西。任何帮助将不胜感激。

由于

2 个答案:

答案 0 :(得分:0)

首先,您需要取消注释该行

extension = php_pdo_odbc.dll(php.ini)

然后尝试这种连接方式:

$dbName = $_SERVER["DOCUMENT_ROOT"] . "D:\\Intranet\\is3\\new_site\\backend\\database\\blog.mdb";

if (!file_exists($dbName)) {
    die("Could not find database file.");
}

$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=; Pwd=;");

答案 1 :(得分:0)

$strConn = new COM("ADODB.Connection") or die("Cannot start ADO");
$strConn->Open("DRIVER={Microsoft Access Driver (*.mdb)};
DBQ=" .realpath("db.mdb"));