PHP Database ODBC

ODBC 是一种应用程序编程接口(Application Programming Interface,API),使我们有能力连接到某个数据源(比如一个 MS Access 数据库)。

创建 ODBC 连接

通过一个 ODBC 连接,您可以连接到您的网络中的任何计算机上的任何数据库,只要 ODBC 连接是可用的。

这是创建到达 MS Access 数据的 ODBC 连接的方法:

  • 在控制面板中打开管理工具
  • 双击其中的数据源 (ODBC) 图标
  • 选择系统 DSN 选项卡
  • 点击系统 DSN 选项卡中的“添加”按钮
  • 选择 Microsoft Access Driver。点击完成
  • 在下一个界面,点击“选择”来定位数据库。
  • 为这个数据库取一个数据源名 (DSN)
  • 点击确定

请注意,必须在您的网站所在的计算机上完成这个配置。如果您的计算机上正在运行 Internet 信息服务器 (IIS),上面的指令会生效,但是假如您的网站位于远程服务器,您必须拥有对该服务器的物理访问权限,或者请您的主机提供商为您建立 DSN。

连接到 ODBC

odbc_connect() 函数用于连接到 ODBC 数据源。该函数有四个参数:数据源名、用户名、密码以及可选的指针类型参数。

odbc_exec() 函数用于执行 SQL 语句。

例子

下面的例子创建了到达名为 northwind 的 DSN 的连接,没有用户名和密码。然后创建并执行一条 SQL 语句:

  1. $conn=odbc_connect('northwind','','');
  2. $sql="SELECT * FROM customers";
  3. $rs=odbc_exec($conn,$sql);

取回记录

odbc_fetch_row() 函数用于从结果集中返回记录。如果能够返回行,则返回 true,否则返回 false。

该函数有两个参数:ODBC 结果标识符和可选的行号:

  1. odbc_fetch_row($rs)

从记录中取回字段

odbc_result() 函数用于从记录中读取字段。该函数有两个参数:ODBC 结果标识符和字段编号或名称。

下面的代码行从记录中返回第一个字段的值:

  1. $compname=odbc_result($rs,1);

The code line below returns the value of a field called "CompanyName":

  1. $compname=odbc_result($rs,"CompanyName");

关闭 ODBC 连接

odbc_close()函数用于关闭 ODBC 连接。

  1. odbc_close($conn);

ODBC 实例

下面的例子展示了如何首先创建一个数据库连接,然后是结果集,然后在 HTML 表格中显示数据。

  1. <html>
  2. <body>
  3.  
  4. <?php
  5. $conn=odbc_connect('northwind','','');
  6. if (!$conn)
  7. {exit("Connection Failed: " . $conn);}
  8. $sql="SELECT * FROM customers";
  9. $rs=odbc_exec($conn,$sql);
  10. if (!$rs)
  11. {exit("Error in SQL");}
  12. echo "<table><tr>";
  13. echo "<th>Companyname</th>";
  14. echo "<th>Contactname</th></tr>";
  15. while (odbc_fetch_row($rs))
  16. {
  17. $compname=odbc_result($rs,"CompanyName");
  18. $conname=odbc_result($rs,"ContactName");
  19. echo "<tr><td>$compname</td>";
  20. echo "<td>$conname</td></tr>";
  21. }
  22. odbc_close($conn);
  23. echo "</table>";
  24. ?>
  25.  
  26. </body>
  27. </html>