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

來源:互聯網
上載者:User

標籤:http   io   ar   使用   sp   for   資料   on   問題   

PHP(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 資料庫的程式碼範例:

 

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] .’
’;

$rs->MoveNext();

}

?>

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.