亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

使用PHP調用ORACLE存儲過程

添加時間:2014-7-25 17:23:01  添加: 思海網絡 

從開始學習PHP就來喜悅國際村,好幾個月了,學到不少東西,自己寫了個例子希望有點用處。

PHP程序訪問數據庫,完全可以使用存儲過程,
有人認為使用存儲過程便于維護
不過仁者見仁,智者見智,在這個問題上,偶認為使用存儲過程意味著必須要DBA和開發人員更緊密配合
如果其中一方更變,則顯然難以維護。
但是使用存儲過程至少有兩個最明顯的優點:速度和效率。
使用存儲過程的速度顯然更快。
在效率上,如果應用一次需要做一系列SQL操作,則需要往返于PHP與ORACLE,不如把該應用直接放到數據庫方以減少往返次數,增加效率。
但是在INTERNET應用上,速度是極度重要的,所以很有必要使用存儲過程。
偶也是使用PHP調用存儲過程不久,做了下面這個列子。

這是偶第一次寫文章(以前都是發水貼),希望大家多多斧正!

代碼:
-------------------------------------------------------------
// 建立一個TEST表 CREATE TABLE TEST ( ID NUMBER(16) NOT NULL, NAME VARCHAR2(30) NOT NULL, PRIMARY KEY (ID) ); //插入一條數據 INSERT INTO TEST VALUES (5, 'PHP_BOOK'); //建立一個存儲過程 CREATE OR REPLACE PROCEDURE PROC_TEST ( p_id IN OUT NUMBER, p_name OUT VARCHAR2 ) AS BEGIN SELECT NAME INTO p_name FROM TEST WHERE ID = 5; END PROC_TEST; /
-------------------------------------------------------------


PHP代碼:
-------------------------------------------------------------


//建立數據庫連接
$user = "scott"; //數據庫用戶名
$password = "tiger"; //密碼
$conn_str = "tnsname"; //連接串(cstr : Connection_STRing)
$remote = true //是否遠程連接
if ($remote) {
$conn = OCILogon($user, $password, $conn_str);
}
else {
$conn = OCILogon($user, $password);
}

//設定綁定
$id = 5; //準備用以綁定的php變量 id
$name = ""; //準備用以綁定的php變量 name

/** 調用存儲過程的sql語句(sql_sp : SQL_StoreProcedure)
* 語法:
* BEGIN 存儲過程名([[:]參數]); END;
* 加上冒號表示該參數是一個位置
**/
$sql_sp = "BEGIN PROC_TEST(:id, :name); END;";

//Parse
$stmt = OCIParse($conn, $sql_sp);

//執行綁定
OCIBindByName($stmt, ":id", $id, 16); //參數說明:綁定php變量$id到位置:id,并設定綁定長度16位
OCIBindByName($stmt, ":name", $name, 30);

//Execute
OCIExecute($stmt);

//結果
echo "name is : $name
";

?>

關鍵字:ORACLE、存儲過程、PHP、數據庫

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站