不使用OCI8介面如何串連PHP和Oracle

來源:互聯網
上載者:User
oracle

隨著網站規模的擴大,MySql顯然不能滿足需求,在許多網站都
採用大型資料庫Oracle的情況下,如何使用PHP來訪問Oracle變的越發重要了。
我從我編寫的一個簡單iERP系統談我自己是如何做的,在PHP官方手冊裡也有說明。
一般情況下或者說大多數人都是用Oracle8 Call-Interface(OCI8)來串連資料庫,
我這裡介紹不使用OCI8介面而直接使用PHP的Oracle函數來串連資料庫並處理資料。
注意:
php.ini配置中要去掉 ;extension=php_oracle.dll 前的分號即
extension=php_oracle.dll

1,串連資料庫

使用ora_logon()或者ora_plogon()來串連上資料庫
ora_plogon功能與ora_logon類似,只不過ora_plogon開啟與 Oracle 的長期連結
直至web服務停止

$handle = ora_plogon("system@localhost", "manager") or die;
"system@localhost" 其中localhost是oracle SID 名稱,system是使用者名稱稱,manager是使用者密碼

2,開啟遊標
$cursor = ora_open($handle);

3,分析文法並執行指令
$query = "select count(*) from area where areacode = '$addcode'";
ora_parse($cursor, $query) or die;
ora_exec($cursor);

4,擷取資料
if(ora_fetch($cursor))
$datacount = ora_getcolumn($cursor, 0);
5,關閉遊標
ora_close($cursor);

當然了你有可能執行的是delete或者insert語句不存在擷取資料的步驟如:
INSERT:(插入)

$handle = ora_plogon("system@localhost", "manager") or die;
ora_commiton($handle);
$cursor = ora_open($handle);
$query = "insert into area(areacode,areaname) values('$addcode','$addname')";
ora_parse($cursor, $query) or die;
ora_exec($cursor);
ora_close($cursor);

DELETE:(刪除)

$handle = ora_plogon("system@localhost", "manager") or die;
$cursor = ora_open($handle);
ora_commiton($handle);
$query = "delete from area where areacode in ('222','444')" ;
ora_parse($cursor, $query) or die;
ora_exec($cursor);
ora_close($cursor);


 



相關文章

聯繫我們

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