使用PHP操作DB2 Express C的五種方法(1)_PHP教程

來源:互聯網
上載者:User
最近IBM推出了一個令人十分震驚的資料產品DB2 Express C。這個產品的效能和其他的DB2版本差不多,而更吸引眼球的是它竟然是完全免費的。這對於以MySQL為首的開來源資料庫是一個不小的衝擊,恐怕以後LAMP(Linux+Apache+MySQL+PHP)要變成LADP(Linux+Apache+DB2+PHP)了。為了提前應對這個變化,讓我們先來看一看PHP操作DB2 Express C的各種方法。

PHP在它發展的13年的時間演化出了非常多的資料庫介面。本文就以Windows+PHP5.2為例來討論在PHP中常用的五種操作DB2 Express C的方式。

在討論之前,讓我們先使用下面的DB2 SQL語句建立一個表,在本文中將會經常使用這個表。

create table mytablea
...{
id int primary key,
name varchar(20) not null,
age int not null,
phone varchar(30) not null,
salary int
}

一、ODBC方式

DB2 Express C和其他的資料庫(SQL Server、Oracle)一樣,也提供了ODBC驅動。但DB2的ODBC驅動並未隨安裝程式打包,在使用時需要從IBM的網站下載。網址如下:http://www.ibm.com/developerworks/cn/db2/v9/index_download.html。

PHP從3.0.6開始引入了訪問ODBC API的函數。所有的訪問ODBC API的函數都以odbc_開頭。在使用這些函數之前,必須在本機上建立一個使用者或系統的DB2 ODBC資料來源。1所示。本文所建立的資料來源名是mydb2。

498)this.width=498;' onmousewheel = 'javascript:return big(this)' src="/files/uploadimg/20070308/1219580.jpg">
圖1

首先使用odbc_connect函數串連mydb2資料來源。odbc_connect函數的定義如下:

odbc_connect ( "資料來源名", "使用者名稱", "密碼","遊標類型"[可選])

下面是串連mydb2的語句。

$conn = odbc_connect("mydb2", "db2admin", "mypassword",SQL_CUR_USE_ODBC );

其中db2admin是DB2 Express C在安裝時預設的使用者名稱。

PHP還為我們提供了另外一個帶緩衝的串連資料庫的方法。odbc_pconnect。這個方法和odbc_connect的差不多,只是在當前php檔案執行完後,這個串連並不釋放。如果下一次仍然使用mydb2資料來源的話,將繼續使用這個串連。這樣可以提高Web程式的執行效率。

一般對資料庫的操作無外乎兩種,一是執行如delete、update和insert等不返回結果的SQL,另外一種是執行返回結果的SQL語句,如select。

第一種情況可以使用odbc_do來執行。

odbc_do($conn, "delete * from mytable where id > 1000");
odbc_do($conn, "insert into mytable values(2000, 'mike', 30, '12345678', 3000)");

第二種情況可以使用odbc_exec來執行。

$result = odbc_exec($conn, "select * from mytable where id = 2000");

如果odbc_exec執行成功,則返回查詢的結果。

輸出$result的方法很多,在這裡我只給出將結果轉換成數組的方法,其他的方法請參閱PHP手冊。

var $fetch=array();
fetch=odbc_fetch_array($result, 2); // 將第2行的每個欄位的值儲存在數組fetch中
$field1 = odbc_result($Query_ID, 1);
$field2 = odbc_result($Query_ID, "salary");
print $field1 . "," . $field2;

其中odbc_result既可以根據欄位的索引,又可以根據欄位的名得到欄位值。

最後使用odbc_close關閉資料庫連接。

1

http://www.bkjia.com/PHPjc/446810.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/446810.htmlTechArticle最近IBM推出了一個令人十分震驚的資料產品DB2 Express C。這個產品的效能和其他的DB2版本差不多,而更吸引眼球的是它竟然是完全免費的。這...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.