天天看點

PHP 開發中資料庫及其相關軟體的選型考慮

PHP 版本各異,已經停止更新開發的有 4.0 系列的 4.4.x,但現在還有部分生産環境在跑這個版本,需要繼續維護代碼。PHP 5.0 系列是現在開發和應用的主流版本,有 5.1.x 和 5.2.x 系列。PHP 6.0 目前還是試用版本,用 PHP 開發軟體産品的人現在可以預先作相容性測試。

    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,如需轉載請自行聯系原作者