国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php怎么運行存儲過程?php存儲過程調用實例代碼

2024-05-04 21:50:04
字體:
來源:轉載
供稿:網友

代碼如下:

  1. //比如要調用的存儲過程為gxtj(a,b)  
  2. $db=new mysqli("localhost","ssss","aaaaa","bbbb");  
  3. mysqli_query($db,"SET NAMES utf8");  
  4. $result=$db->query("call gxtj($year,$jd)"); // gxtj是mysql的存儲過程名稱 [color=gray][/color]  
  5. while$row = $result->fetch_array(MYSQLI_ASSOC)) //完成從返回結果集中取出一行  
  6. {  //Vevb.com 
  7. while ($key=key($row)){ //依次取得字段名  
  8. $value=current($row); //依次取得字段值  
  9. }  
  10. }  

實例一:無參的存儲過程,代碼如下:

$sql = "call test.myproce();";

mysql_query($sql);//調用myproce的存儲過程,則數據庫中將增加一條新記錄。

實例二:傳入參數的存儲過程,代碼如下:

  1. $sql = " 
  2. create procedure myproce2(in score int) 
  3. begin 
  4. if score >= 60 then 
  5. select 'pass' 
  6. else 
  7. select 'no' 
  8. end if
  9. end;  
  10. "; 
  11. mysql_query($sql);//創建一個myproce2的存儲過程 
  12. $sql = "call test.myproce2(70);"
  13. mysql_query($sql);//調用myproce2的存儲過程,看不到效果,可以在cmd下看到結果。 

實例三:傳出參數的存儲過程,代碼如下:

  1. $sql = " 
  2. create procedure myproce3(out score int) 
  3. begin 
  4. set score=100; 
  5. end;  
  6. "; 
  7. mysql_query($sql);//創建一個myproce3的存儲過程 
  8. $sql = "call test.myproce3(@score);"
  9. mysql_query($sql);//調用myproce3的存儲過程 
  10. $result = mysql_query('select @score;'); 
  11. $array = mysql_fetch_array($result); 
  12. echo ' 
  13. 'print_r($array); 

實例四:傳出參數的inout存儲過程,代碼如下:

  1. $sql = " 
  2. create procedure myproce4(inout sexflag int) 
  3. begin 
  4. SELECT * FROM user WHERE sex = sexflag; 
  5. end;  
  6. "; 
  7. mysql_query($sql);//創建一個myproce4的存儲過程 
  8. $sql = "set @sexflag = 1"
  9. mysql_query($sql);//設置性別參數為1 
  10. $sql = "call test.myproce4(@sexflag);"
  11. mysql_query($sql);//調用myproce4的存儲過程,在cmd下面看效果 

實例五:使用變量的存儲過程,代碼如下:

  1. $sql = " 
  2. create procedure myproce5(in a int,in b int) 
  3. begin 
  4. declare s int default 0; 
  5. set s=a+b; 
  6. select s; 
  7. end;  
  8. "; 
  9. mysql_query($sql);//創建一個myproce5的存儲過程 
  10. $sql = "call test.myproce5(4,6);"
  11. mysql_query($sql);//調用myproce5的存儲過程,在cmd下面看效果 

實例六:case語法,代碼如下:

  1. $sql = " 
  2. create procedure myproce6(in score int) 
  3. begin 
  4. case score 
  5. when 60 then select '及格' 
  6. when 80 then select '及良好' 
  7. when 100 then select '優秀' 
  8. else select '未知分數' 
  9. end case
  10. end;  
  11. "; 
  12. mysql_query($sql);//創建一個myproce6的存儲過程 
  13. $sql = "call test.myproce6(100);"
  14. mysql_query($sql);//調用myproce6的存儲過程,在cmd下面看效果 

實例七:循環語句,代碼如下:

  1. $sql = " 
  2. create procedure myproce7() 
  3. begin 
  4. declare i int default 0; 
  5. declare j int default 0; 
  6. while i<10 do 
  7. set j=j+i; 
  8. set i=i+1; 
  9. end while
  10. select j; 
  11. end;  
  12. "; 
  13. mysql_query($sql);//創建一個myproce7的存儲過程 
  14. $sql = "call test.myproce7();"
  15. mysql_query($sql);//調用myproce7的存儲過程,在cmd下面看效果 

實例八:repeat語句,代碼如下:

  1. $sql = "  
  2. create procedure myproce8() 
  3. begin 
  4. declare i int default 0; 
  5. declare j int default 0; 
  6. repeat 
  7. set j=j+i; 
  8. set i=i+1; 
  9. until j>=10 
  10. end repeat; 
  11. select j; 
  12. end;  
  13. "; 
  14. mysql_query($sql);//創建一個myproce8的存儲過程 
  15. $sql = "call test.myproce8();"
  16. mysql_query($sql);//調用myproce8的存儲過程,在cmd下面看效果 

實例九:loop語句,代碼如下:

  1. loop_label:loop 
  2. set s=s+i; 
  3. set i=i+1; 
  4. if i>=5 then 
  5. leave loop_label; 
  6. end if
  7. end loop; 
  8. select s; 
  9. end;  
  10. "; 
  11. mysql_query($sql);//創建一個myproce9的存儲過程 
  12. $sql = "call test.myproce9();"
  13. mysql_query($sql);//調用myproce9的存儲過程,在cmd下面看效果 

實例十:刪除存儲過程,代碼如下:

mysql_query("drop procedure if exists myproce");//刪除test的存儲過程

實例十:存儲過程中的游標

總結中。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岫岩| 元氏县| 大港区| 衡东县| 容城县| 锦屏县| 永善县| 馆陶县| 永新县| 石阡县| 中牟县| 万荣县| 莱阳市| 平舆县| 三河市| 梁河县| 长泰县| 泰宁县| 邓州市| 长岛县| 大荔县| 寻乌县| 台东市| 安图县| 石林| 丰台区| 祥云县| 雷波县| 广河县| 建昌县| 泰来县| 罗源县| 祁门县| 金坛市| 万安县| 泽州县| 高阳县| 金川县| 嘉义市| 澄城县| 呼伦贝尔市|