PHP版本各异
,已经停止升级开发的有4.0系列的4.4.x
,但现在还有部分生产环境在跑这个版本,需要继续维护代码
。PHP5.0系列是现在开发和应用的主流版本,有5.1.x和5.2.x系列
。PHP6.0目前还是试用版本,用PHP开发软件产品的人现在可以预先作兼容性测试。
PHP支持的数据库很多,包括PHP本身自带的数据库驱动组件,例如
mysql.dll、oci_oracle等。PHP从5.1版本以后正在力推其通用的数据库驱动组件PDO,通过这个高度抽象的数据库存取组件,PHP可以支持目前绝大多数数据库产品,而且这个数量还在增加,具有极大的扩展性。而第三方厂家很早就在开发ADODB数据库存取组件,现在仍然在继续进展中。
PHP自身支持的数据库组件,目前最流行的是My
SQL组件。PHP4.0和5.0版本对
Oracle的支持使用了不同的函数组,5.0兼容4.0,但函数名已经更换了。PHP4.0用的是OCILogon()、OCIParse()、OCIExecute()、OCIFetchInto()等函数。而PHP5.0用的是oci_connect()、oci_parse、oci_bind_by_name()、oci_execute()、oci_fetch_all()等等函数,能看出来是向My
SQL的函数命名靠拢。这些函数是用C语言对PHP进行扩展开发的,理论上效率最高,但也许因为资料缺乏等原因,使用的人似乎并不见多。其针对
Oracle表的分页代码等,也比较复杂。
而ADODB组件和Windows下ASP.NET使用的ADO组件包装几乎是一模一样的,做过ASP/ASP.NET+ACCESS/MS-SQLServer开发的人应该似曾相识,很容易上手。所以,用PHP做MS-SQLServer或oracle开发,ADODB应该是考虑之列。ADODB对PHP的4.0和5.0版本均支持,而PDO仅仅支持PHP的5.1以上版本,这一点也应该考虑,做项目的问题不大,做产品的,就要考虑版本的适用性和软件的部署环境了。
一段PHP使用ADODB组件存取Oracle9i数据库的代码示例:
<?php
require_once(”adodb/adodb.inc.php”);//包含ADODB类库
$db=ADONewConnection(”oci8″);//指定Oracle8.0以上数据库
$db->Connect(”mydb9″,“scott”,“tiger”);//三个参数分别是数据库网络服务名、用户(方案)和密码
$rs=$db->Execute(”select*fromemp”);//执行SQL语句
//取记录中的数据
while(!$rs->EOF)
{
echo$rs->fields[JOB].’<br>’;
$rs->MoveNext();
}
?>