程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> PHP調用Oracle存儲過程的實操

PHP調用Oracle存儲過程的實操

編輯:Oracle數據庫基礎

以下的文章主要是介紹如何用PHP來調用Oracle存儲過程,以及在用PHP來調用Oracle存儲過程的是實際應用代碼的示例,以下就是文章的相關內容的主要秒素,望你在浏覽之後,會有所收獲。

建立一個test表

  1. create table test (  
  2. id number(16) not null,  
  3. name varchar2(30) not null,  
  4. primary key (id)  
  5. ); 

插入一條數據

  1. insert into test values (5, ’PHP_book’); 

建立一個Oracle存儲過程

  1. create or replace procedure proc_test (  
  2. p_id in out number,  
  3. p_name out varchar2  
  4. ) as  
  5. begin  
  6. select name into p_name  
  7. from test  
  8. where id = 5;  
  9. end proc_test;  

PHP代碼:

  1. <?PHP 

建立數據庫連接

  1. $user = "scott"

數據庫用戶名

  1. $passWord = "tiger";  

密碼

  1. $conn_str = "tnsname"

連接串 

  1. (cstr : connection_string)  
  2. $remote = true  

是否遠程連接
 

  1. if ($remote) {  
  2. $conn = ocilogon($user, $passWord, $conn_str);  
  3. }  
  4. else {  
  5. $conn = ocilogon($user, $passWord);  

設定綁定

  1. $id = 5

准備用以綁定的PHP變量 id

  1. $name = "";  

准備用以綁定的PHP變量 name

/** 調用Oracle存儲過程的sql語句(sql_sp : sql_storeprocedure)

* 語法:

* begin 存儲過程名([[:]參數]); end;

* 加上冒號表示該參數是一個位置

  1. **/  
  2. $sql_sp = "begin proc_test(:id, :name); end;";  
  3. parse  
  4. $stmt = ociparse($conn, $sql_sp);  
  5.  

執行綁定

  1. ocibindbyname($stmt, ":id", $id, 16);  

參數說明:綁定PHP變量$id到位置:id,並設定綁定長度16位

  1. ocibindbyname($stmt, ":name", $name, 30); 

execute

  1. ocIExecute($stmt); 

結果

  1. echo "name is : $name<br>";  
  2. ?> 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved