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

技術小美發表於2017-11-16

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


相關文章