【问题标题】:PHP and Microsoft Access database - Connection and CRUDPHP 和 Microsoft Access 数据库 - 连接和 CRUD
【发布时间】:2010-12-08 23:52:00
【问题描述】:

我没有访问权限。

如何在有和没有$rs = new com("ADODB.RecordSet"); 的情况下执行更新/插入/删除/选择语句 ?

【问题讨论】:

标签: php database ms-access odbc crud


【解决方案1】:

PDO

如果您想使用 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();
}

ODBC

如果您出于某些疯狂的原因不想使用 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);

【讨论】:

  • 您能更具体地了解如何进行 CRUD 操作吗?
  • 掩码,里面有一个插入操作。使用相关的 select 更新和删除 SQL 操作。
  • 需要在“php.ini”文件的“Dynamic Extensions”标题下启用extension=php_pdo_odbc.dll这一行
猜你喜欢
  • 1970-01-01
  • 2013-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多