国产探花免费观看_亚洲丰满少妇自慰呻吟_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的存儲過程

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

總結中。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江津市| 信宜市| 江安县| 花垣县| 塔河县| 杭锦旗| 洛川县| 江门市| 库车县| 揭西县| 渝北区| 黄浦区| 纳雍县| 久治县| 东丰县| 沙田区| 江山市| 镇雄县| 江北区| 靖州| 常熟市| 济阳县| 陇西县| 渝中区| 县级市| 甘谷县| 绥棱县| 同心县| 建宁县| 嘉定区| 巴彦县| 珲春市| 新蔡县| 玉树县| 嘉定区| 洛浦县| 库尔勒市| 兰溪市| 红桥区| 依兰县| 天津市|