我没有访问的经验。
如何使用和不使用更新/插入/删除/选择语句$rs = new com("ADODB.RecordSet");
?
如果您想使用 PHP 与 MS Access 数据库交互,可以使用PDO。
<?php
try {
$pdo = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\accounts.mdb;Uid=Admin");
}
catch (PDOException $e) {
echo $e->getMessage();
}
使用 PDO 时,由于 DB 操作的统一接口,您有机会使您的应用程序在各种 RDBM 系统中更具可移植性。您所要做的就是提供到 PDO 新实例的连接字符串并安装正确的 PDO 驱动程序。
由于这个统一的接口,您的应用程序可以很容易地从 MS Access 移植到 MySQL、SQLite、Oracle、Informix、DB2 等,如果它足够老,肯定是这种情况。
这是一个插入示例:
<?php
try {
// Connect,
// Assuming that the DB file is available in `C:\animals.mdb`
$pdo = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\animals.mdb;Uid=Admin");
// INSERT data
$count = $pdo->exec("INSERT INTO animals(animal_type, animal_name) VALUES ('kiwi', 'troy')");
// echo the number of affected rows
echo $count;
// close the database connection
// See: http://php.net/manual/en/pdo.connections.php
$pdo = null;
}
catch (PDOException $e) {
echo $e->getMessage();
}
如果您出于某些疯狂的原因不想使用 PDO,您可以查看ODBC。
这是一个例子:
<?php
if (! $conn = odbc_connect('northwind', '', '')) {
exit("Connection Failed: $conn");
}
if (! $rs = odbc_exec($conn, 'SELECT * FROM customers')) {
exit('Error in SQL');
}
while (odbc_fetch_row($rs)) {
echo 'Company name: ', odbc_result($rs, 'CompanyName'), PHP_EOL;
echo 'Contact name: ', odbc_result($rs, 'ContactName'), PHP_EOL;
}
odbc_close($conn);