技术开发 频道

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



    二、ADO方式

    如果在Windows中连接数据库,ADO无疑是最常用的数据库接口。如果在一种语言中可以调用ADO API,就意味着这种语言几乎可以连接任何数据库。
在ADO中最常用的是OLE DB驱动,DB2也提供了如图2所示的OLE DB驱动。


    由于PHP可以调用COM组件,因此,可以通过PHP的COM类来建立一个ADO对象,并通过DB2的OLE DB来连接DB2 Express C。

<? $conn = @new COM("ADODB.Connection") or die("ADO 对象创建失败!"); $rs = @new COM("ADODB.RecordSet") or die("ADO 记录集创建失败!"); $conn->open("Provider=IBMDADB2.DB2;UserID=db2admin;Password=mypassword; Data Source=test;Location=localhost;"); $rs = $conn->Execute("SELECT * FROM mytable ORDER BY salary DESC;"); $row=1; echo "<table border=1>"; while(!$rs->EOF) {    echo "<tr>";    for($col=0;$col<$rs->Fields->Count;$col++)    {       echo "<td>";       echo $rs->Fields[$col]->Name.":".$rs->Fields[$col]->Value;       echo "</td>";    }    $row++;    echo "</tr>";    $rs->MoveNext(); } echo "</table>"; $rs->Close; $conn->Close; ?>

    以上代码将mytable中的数据按salary排序,并以表格形式输出到IE中。
    虽然使用COM来建立ADO对象显得更直接,但如果这样用,PHP程序的跨平台特性就被破坏了。如果既想使用ADO,又想保持PHP的跨平台特性,可以使用一个开源的PHP库:ADODB。这个库可以从http://php.weblogs.com/adodb免费下载。

include("adodb.inc.php"); // 这里必须使用db2,通知ADODB要使用DB2的ADO连接字符串 $db = NewADOConnection('db2'); $db->Connect("localhost", "db2admin", "mypassword", "test"); // test为数据库名 $result = $db->Execute("SELECT * FROM mytable"); if ($result === false) die("failed"); while (!$result->EOF) { for ($i=0, $max=$result->FieldCount(); $i < $max; $i++) print $result->fields[$i].' '; $result->MoveNext(); print "<br>n"; }

    使用ADODB之前,必须使用include来引用 adodb.inc.php。

0
相关文章