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

首頁 > 開發 > PHP > 正文

PHP調用MySQL存儲過程并返回值實現程序

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

本文章來給大家詳細介紹在php中如何來調用執行mysql存儲過程然后返回由存儲過程返回的值了,有需要了解的同學可進入參考.

調用存儲過程的方法.

a。如果存儲過程有 IN/INOUT參數,聲明一個變量,輸入參數給存儲過程,該變量是一對,一個php變量,也可以不必,只是沒有php變量時,沒有辦法進行動態輸入,一個Mysql變量.

b。如果存儲過程有OUT變量,聲明一個Mysql變量,mysql變量的聲明比較特殊,必須讓mysql服務器知道此變量的存在,其實也就是執行一條mysql語句,入set @mysqlvar=$phpvar ;

c。使用mysql_query()/mysql_db_query()執行mysql 變量聲明語句。

代碼如下:mysql_query("set @mysqlvar【=$pbpvar】");

這樣,在mysql服務器里面就有一個變量,@mysqlar,如果時IN參數,那么其值可以有phpar傳入.

例,利用mysqli函數實例,我們先可在mysql創建一個存儲過程,代碼如下:

  1. mysql> delimiter // 
  2. mysql> CREATE PROCEDURE employee_list (OUT param1 INT
  3.     -> BEGIN 
  4.     ->   SELECT COUNT(*) INTO param1 FROM t; 
  5.     -> END 
  6.     -> // 
  7. Query OK, 0 rows affected (0.00 sec) 

然后在php中如下寫,代碼如下:

  1. <h1>Employee listing</h1> 
  2. <form method="post" > 
  3. <p>Enter Department ID: 
  4. <input type="text" name="dept_id" size="4"
  5. <input type="submit" name="submit" value="submit"><p> 
  6. </form> 
  7. <?php 
  8. $hostname = "localhost"
  9. $username = "root"
  10. $password = "secret"
  11. $database = "prod"
  12. if (IsSet ($_POST['submit'])) { 
  13.      $dbh = new mysqli($hostname$username$password$database); 
  14.      /* check connection */ 
  15.      if (mysqli_connect_errno()) { 
  16.           printf("Connect failed: %sn", mysqli_connect_error()); 
  17.           exit (); 
  18.      } 
  19.      $dept_id = $_POST['dept_id']; 
  20.      if ($result_set = $dbh->query("call employee_list( $dept_id )")) { 
  21.           print ('<table border="1" width="30%"> <tr> '
  22.                '<td>Employee_id</td><td>Surname</td><td>Firstname</td></tr>');//開源代碼Vevb.com 
  23.           while ($row = $result_set->fetch_object()) { 
  24.                printf("<tr><td>%s</td><td>%s</td><td>%s</td></tr>n",  
  25.                       $row->employee_id, $row->surname, $row->firstname); 
  26.           } 
  27.      } else { 
  28.           printf("<p>Error:%d (%s) %sn", mysqli_errno($dbh),  
  29.                  mysqli_sqlstate($dbh), mysqli_error($dbh)); 
  30.      } 
  31.      print ("</table> "); 
  32.      $dbh->close(); 
  33. ?> 

核心代碼就是,代碼如下:

$result_set = $dbh->query("call employee_list( $dept_id )")

這句了employee_list是我們的mysql存儲過程了.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 土默特右旗| 兴文县| 黑龙江省| 惠水县| 临夏县| 阆中市| 阿尔山市| 长治县| 沙坪坝区| 肃宁县| 黔江区| 邓州市| 抚远县| 镇雄县| 宁津县| 波密县| 张家界市| 张家港市| 巍山| 台江县| 潜山县| 天全县| 调兵山市| 梧州市| 雅江县| 庆阳市| 田阳县| 南部县| 荔波县| 灵宝市| 菏泽市| 神池县| 大竹县| 永丰县| 贺兰县| 塔河县| 邹平县| 北海市| 沙洋县| 周宁县| 古交市|