PHP調用三種數據庫的方法
發表于:2007-09-07來源:作者:點擊數:
標簽:
相信大家對 PHP 已經很熟悉了。PHP內置了幾乎對世界上所有的 數據庫 的支持,而不再需要重新擴充。所以有人說:不會用PHP調用數據庫,等于沒學PHP。下面是筆者根據本人的操作經驗和大俠們的意見而得出的總結,希望能給初學者提供一些益處。 Oracle(甲骨文)
相信大家對
PHP已經很熟悉了。PHP內置了幾乎對世界上所有的
數據庫的支持,而不再需要重新擴充。所以有人說:不會用PHP調用數據庫,等于沒學PHP。下面是筆者根據本人的操作經驗和大俠們的意見而得出的總結,希望能給初學者提供一些益處。
Oracle(甲骨文)是世界上最為流行的關系數據庫。它是大公司推崇的工業化的強有力的引擎。我們先看看其相關的函數:
(1)integer ora_logon(string user , string password)
開始對一個Oracle數據庫
服務器的連接。
(2)integer ora_open(integer connection)
打開給出的連接的游標。
(3)integer ora_do(integer connection, string query)
在給出的連接上執行查詢。PHP生成一個指示器,解析查詢,并執行之。
(4)integer ora_parse(integer cursor, string query)
解析一個查詢并準備好執行。
(5)boolean ora_exec(integer cursor)
執行一個先前由ora_parse函數解析過的查詢。
(6)boolean ora_fetch(integer cursor)
此函數會使得一個執行過的查詢中的行被取到指示器中。這使得您可以調用ora_getcolumn函數。
(7)string ora_getcolumn(integer cursor, integer column)
返回當前的值。列由零開始的數字索引。
(8)boolean ora_logoff(integer connection)
斷開對數據庫服務器的鏈接。
以下是向ORACLE數據庫插入數據的示例程序:
〈html〉
〈head〉〈title〉向ORACLE數據庫中插入數據〈/title〉〈/head〉
〈body〉
〈form action="〈?echo $PHP_SELF;?〉" method="post"〉
〈table border="1" cellspacing="0" cellpadding="0"〉
〈tr〉
〈th〉ID〈/th〉
〈th〉name〈/th〉
〈th〉Description〈/th〉
〈/tr〉
〈tr〉
〈td〉〈input type="text" name="name" maxlength="50" size="10"〉〈/td〉
〈td〉〈input type="text" name="email" maxlength="255" size="30"〉〈/td〉
〈td〉〈input type="text" name="Description" maxlength="255" size="50"〉〈/td〉
〈/tr〉
〈tr align="center"〉
〈td colspan="3"〉〈input type="submit" value="提交"〉 〈input type="reset" value="重寫"〉〈/td〉
〈/tr〉
〈/table〉
〈/form〉
〈?
//先設置兩個環境變量ORACLE_HOME,ORACLE_SID
putenv("ORACLE_HOME=/
oracle/app/oracle/product/8.0.4");
putenv("ORACLE_SID=ora8");
//設置網頁顯示中文
putenv("NLS_LANG=Simplified_Chinese.zhs16cgb231280");
if($connection=ora_logon("scott","tiger")) {
//庫表test有ID,name,Description三項
$sql = 'insert into test(ID,name,Description) values ';
$sql .= '('' . $ID . '','' . $name . '',''. $Description . '')';
if($cursor=ora_do($connect,$sql)) {
print("insert finished!");
}
$query = 'select * from test';
if($cursor=ora_do($connect,$query)) {
ora_fetch($cursor);
$content0=ora_getcolumn($cursor,0);
$content1=ora_getcolumn($cursor,1);
$content2=ora_getcolumn($cursor,2);
print("$content0");
print("$content1");
print("$content2");
ora_close($cursor);
}
ora_logoff($connection);
}
?〉
〈/body〉
〈/html
|