PHP調(diào)用Oracle存儲過程的實(shí)操
以下的文章主要是介紹如何用PHP來調(diào)用Oracle存儲過程,以及在用PHP來調(diào)用Oracle存儲過程的是實(shí)際應(yīng)用代碼的示例,以下就是文章的相關(guān)內(nèi)容的主要秒素,望你在瀏覽之后,會有所收獲。
建立一個(gè)test表
- create table test (
- id number(16) not null,
- name varchar2(30) not null,
- primary key (id)
- );
插入一條數(shù)據(jù)
- insert into test values (5, ’php_book’);
建立一個(gè)Oracle存儲過程
- 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代碼:
- <?php
建立數(shù)據(jù)庫連接
- $user = "scott";
數(shù)據(jù)庫用戶名
- $password = "tiger";
密碼
- $conn_str = "tnsname";
連接串
- (cstr : connection_string)
- $remote = true
是否遠(yuǎn)程連接
- if ($remote) {
- $conn = ocilogon($user, $password, $conn_str);
- }
- else {
- $conn = ocilogon($user, $password);
- }
設(shè)定綁定
- $id = 5;
準(zhǔn)備用以綁定的php變量 id
- $name = "";
準(zhǔn)備用以綁定的php變量 name
/** 調(diào)用Oracle存儲過程的sql語句(sql_sp : sql_storeprocedure)
* 語法:
* begin 存儲過程名([[:]參數(shù)]); end;
* 加上冒號表示該參數(shù)是一個(gè)位置
- **/
- $sql_sp = "begin proc_test(:id, :name); end;";
- parse
- $stmt = ociparse($conn, $sql_sp);
執(zhí)行綁定
- ocibindbyname($stmt, ":id", $id, 16);
參數(shù)說明:綁定php變量$id到位置:id,并設(shè)定綁定長度16位
- ocibindbyname($stmt, ":name", $name, 30);
execute
- ociexecute($stmt);
結(jié)果
- echo "name is : $name<br>";
- ?>
上述的相關(guān)內(nèi)容就是對用PHP來調(diào)用Oracle存儲過程的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】
- Oracle存儲過程中不存在返回值的緣由
- 實(shí)現(xiàn)Oracle存儲過程的實(shí)際應(yīng)用的代碼
- Oracle存儲過程中應(yīng)注意的事項(xiàng)
- 深入高性能的Oracle動態(tài)SQL開發(fā)
- Oracle字段的轉(zhuǎn)字符串實(shí)際操作方案