无法通过php连接到访问数据库

时间:2016-04-18 21:35:08

标签: php ms-access-2010

我真的需要这个问题的帮助,我已经尝试了好几天。我有一个访问数据库,我试图通过PHP查询 - 我来到这个论坛,因为在阅读了很多帖子并尝试不同的东西后,我确信这是服务器上的某种问题。

我已经安装了Microsoft Access数据库引擎,包括2010和2007版本,但无论我尝试什么,我都会收到相同的错误消息:

 Uncaught exception 'com_exception' with message '<b>Source:</b> ADODB.Connection<br/><b>Description:</b> Provider cannot be found.

我已经取消注释了php.ini中的所有相对行(在使用相同的问题爬过许多堆栈溢出帖子之后),但没有成功。下面是我在我的php文件中使用的代码。

<?php

// Create an instance of the ADO connection object
$conn = new COM ("ADODB.Connection") or die("Cannot start ADO");

// Define the connection string and specify the database driver
$connStr = "PROVIDER=Microsoft.Ace.OLEDB.12.0;Data Source=".realpath("HS_BE.accdb").";";

// Open the connection to the database
$conn->open($connStr);

// Declare the SQL statement that will query the database
$query = "SELECT * FROM Accommodation";

// Execute the SQL statement and return records
$rs = $conn->execute($query);

$num_columns = $rs->Fields->Count();
echo $num_columns . "<br>"; 

for ($i=0; $i < $num_columns; $i++) {
    $fld[$i] = $rs->Fields($i);
}

echo "<table>";

while (!$rs->EOF)  // Carry on looping through while there are records
{
    echo "<tr>";
    for ($i=0; $i < $num_columns; $i++) {
        echo "<td>" . $fld[$i]->value . "</td>";
    }
    echo "</tr>";
    $rs->MoveNext(); // Move on to the next record
}

echo "</table>";

// Close the connection and recordset objects freeing up resources 
$rs->Close();
$conn->Close();

$rs = null;
$conn = null;
?>

我非常感谢你的帮助!

0 个答案:

没有答案