技术开发 频道

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



    三、PECL扩展方式
    PHP最大的卖点之一就是支持扩展功能,在PHP5中的ext目录是PHP的所有的扩展。而有一些扩展是专为数据库而做的。其中以db2_开头的一系列函数可以操作DB2 Express C。

    PECL的DB2扩展和ODBC的函数名类似,如连接数据库的叫db2_connect。
    db2_connect ( string database, string username, string password [, array options] )
    上面是db2_connect的原型。其中第一个参数database并不是传统意义上的数据库名。它还可以包括用户名和密码等信息。下面是database字符串的完成格式。
"DRIVER={IBM DB2 ODBC DRIVER}; DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;"
    如果在database中提供了用户名和密码,db2_connect中的username和password必须为null或空串。

    下面是两个连接DB2数据库的例子
    database字符串中只含有数据库名
<?php $database = 'test'; $user = 'db2admin'; $password = 'mypassword'; $conn = db2_connect($database, $user, $password); if ($conn) { echo "数据库连接成功"; db2_close($conn); } else { echo "数据库连接失败."; } ?>
    database字符串中含有用户名和密码

<?php $database = 'test'; $user = 'db2admin'; $password = 'mypassword'; $hostname = 'localhost'; $port = 50000; // 为DB2 Express C的默认端口号 $conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" . "HOSTNAME=$hostname;PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;"; $conn = db2_connect($conn_string, '', ''); if ($conn) { echo "数据库连接成功"; db2_close($conn); } else { echo "数据库连接成功"; } ?>
    从DB2 Express C中取数据
<?php $database = 'test'; $user = 'db2admin'; $password = 'mypassword'; $conn = db2_connect($database, $user, $password); $sql = "SELECT name FROM mytable WHERE salary <= 2000 ORDER BY name DESC"; if ($conn) { require_once('prepare.inc'); $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE)); while ($row = db2_fetch_array($stmt)) { print "$row[0]\n"; } } ?>
    关闭数据库连接
<?php $conn = db2_connect('test', 'db2admin', 'mypassword'); $rc = db2_close($conn); if ($rc) { echo "数据库连接成功关闭."; } ?>
0
相关文章