我没有访问权限的经验。
如何使用/不使用更新/插入/删除/选择语句$rs = new com("ADODB.RecordSet"); ?
$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时,由于具有统一的数据库操作界面,因此您有机会使您的应用程序在各种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);