PHP 开发中数据库及其相关软件的选型考虑

简介:
+关注继续查看

PHP 版本各异,已经停止升级开发的有 4.0 系列的 4.4.x,但现在还有部分生产环境在跑这个版本,需要继续维护代码。PHP 5.0 系列是现在开发和应用的主流版本,有 5.1.x 和 5.2.x 系列。PHP 6.0 目前还是试用版本,用 PHP 开发软件产品的人现在可以预先作兼容性测试。

    PHP 支持的数据库很多,包括 PHP 本身自带的数据库驱动组件,例如 mysql.dll、oci_oracle 等。PHP 从 5.1 版本以后正在力推其通用的数据库驱动组件 PDO,通过这个高度抽象的数据库存取组件,PHP 可以支持目前绝大多数数据库产品,而且这个数量还在增加,具有极大的扩展性。而第三方厂家很早就在开发 ADODB 数据库存取组件(http://adodb.sourceforge.net/),现在仍然在继续进展中。

    PHP 自身支持的数据库组件,目前最流行的是 MySQL 组件。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()等等函数,能看出来是向 MySQL 的函数命名靠拢。这些函数是用 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 * from emp”);  //执行SQL语句
  //取记录中的数据
  while (!$rs->EOF)
  {
    echo $rs->fields[JOB] .’<br>’;
    $rs->MoveNext();
  }
?>












本文转自网眼51CTO博客,原文链接:http://blog.51cto.com/itwatch/286468,如需转载请自行联系原作者

相关文章
|
10天前
|
关系型数据库 MySQL 数据库连接
PHP数据库驱动扩展与不同方式连接数据库方式技术详解
php的强大就是因为它有很多优质的扩展库!
18 0
PHP数据库驱动扩展与不同方式连接数据库方式技术详解
|
3月前
|
NoSQL 关系型数据库 MySQL
PHP快速入门13-MySQL数据库与Redis操作
PHP快速入门与实战,本篇文章介绍的内容,MySQL数据库与Redis操作,后续更多内容将收录在专栏PHP快速入门与实战。
|
3月前
|
存储 监控 算法
php开发实战分析(9):使用实现短地址的分享的解决方案(第三方短链接服务、数据库自增ID转换、自定义短地址生成算法、自增数字短码)
php开发实战分析(9):使用实现短地址的分享的解决方案(第三方短链接服务、数据库自增ID转换、自定义短地址生成算法、自增数字短码)
128 0
|
3月前
|
JSON 前端开发 安全
layui框架实战案例(22):多附件上传实战开发实录(php后端、文件删除、数据库删除)
layui框架实战案例(22):多附件上传实战开发实录(php后端、文件删除、数据库删除)
108 0
|
3月前
|
Linux API PHP
php定时将API中的数据每N分钟同步录入数据库的解决方案
php定时将API中的数据每N分钟同步录入数据库的解决方案
34 0
|
3月前
|
关系型数据库 MySQL PHP
php使用webSocket实现Echarts长连接自动刷新的解决方案(3):获取读取数据库数据队列进行实时刷新
php使用webSocket实现Echarts长连接自动刷新的解决方案(3):获取读取数据库数据队列进行实时刷新
41 0
|
3月前
|
SQL JSON API
PHP读取数据库记录转换为JSON的代码(API接口的SQL语句)
PHP读取数据库记录转换为JSON的代码(API接口的SQL语句)
29 0
|
3月前
|
PHP 数据库
php如何上传照片到数据库并回显
php如何上传照片到数据库并回显
26 0
|
4月前
|
SQL 关系型数据库 MySQL
PHP与数据库交互
PHP与数据库交互
|
6月前
|
JSON PHP 数据库
PHP:Laravel cast array json数据存数据库时unicode 编码问题和update更新不触发数据转换
PHP:Laravel cast array json数据存数据库时unicode 编码问题和update更新不触发数据转换
62 0
推荐文章
更多