使用PHP操作DB2 Express C的五种方法

  最近IBM推出了一个令人十分震惊的数据产品DB2 Express C。这个产品的性能和其他的DB2版本差不多,而更吸引眼球的是它竟然是完全免费的。这对于以MySQL为首的开源数据库是一个不小的冲击,恐怕以后LAMP(Linux+Apache+MySQL+PHP)要变成LADP(Linux+Apache+DB2+PHP)了。为了提前应对这个变化,让我们先来看一看PHP操作DB2 Express C的各种方法。

  PHP在它发展的13年的时间演化出了非常多的数据库接口。本文就以Windows+PHP5.2为例来讨论在PHP中常用的五种操作DB2 Express C的方式。

  在讨论之前,让我们先使用下面的DB2 SQL语句建立一个表,在本文中将会经常使用这个表。

  DB2 Express C和其他的数据库(SQL Server、Oracle)一样,也提供了ODBC驱动。但DB2的ODBC驱动并未随安装程序打包,在使用时需要从IBM的网站下载。网址如下:

  PHP从3.0.6开始引入了访问ODBC API的函数。所有的访问ODBC API的函数都以odbc_开头。在使用这些函数之前,必须在本机上建立一个用户或系统的DB2 ODBC数据源。如图1所示。本文所建立的数据源名是mydb2。

  PHP还为我们提供了另外一个带缓冲的连接数据库的方法。odbc_pconnect。这个方法和odbc_connect的差不多,只是在当前php文件执行完后,这个连接并不释放。如果下一次仍然使用mydb2数据源的话,将继续使用这个连接。这样可以提高Web程序的执行效率。

  一般对数据库的操作无外乎两种,一是执行如delete、update和insert等不返回结果的SQL,另外一种是执行返回结果的SQL语句,如select。

  输出$result的方法很多,在这里我只给出将结果转换成数组的方法,其他的方法请参阅PHP手册。

  其中odbc_result既可以根据字段的索引,又可以根据字段的名得到字段值。

相关阅读