程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 怎麼樣通過PHP取得MySQL procedure結果

怎麼樣通過PHP取得MySQL procedure結果

編輯:關於MYSQL數據庫

  總有網友問我,如何通過php調用MySQL的存儲過程同時取得返回的結果集呢?確實,MySQL的存儲過程大大方便了編程也提高了效率。但是,對於那些還在用php 4 的同學們來說可就麻煩了,因為php 4只能調用存儲過程,但卻無法直接取得返回結果集;不過,用php 5的MySQLi函數就可以做到了。首先,重新編譯PHP 5,增加對mysqli的支持,或者直接下載MySQLi的擴展模塊,這裡不再細說。直接舉個例子吧:

  1、創建存儲過程,列出 test 庫下的所有表:

mysql>DELIMITER //mysql>CREATE PROCEDURE `yejr`()->BEGIN->SHOW TABLES;->END; //Query OK, 0 rows affected (0.12 sec)mysql>DELIMITER ;MySQL>CALL yejr();+------------------+| Tables_in_test |+------------------+| yejr1 || yejr2 |+------------------+
 
  2、用 MySQLi 編寫測試代碼:

$mysqli = new mysqli("localhost", "root", "", "test");if (mysqli_connect_errno()) {printf("Connect failed: %s ", mysqli_connect_error());exit();}$query = "call yejr();";if ($result = $MySQLi->query( $query)) {while($row = $result->fetch_row()){printf ("find table: %s ", $row[0]);}}$result->close();?> 
 
  結果大致如下:

find table: yejr1

find table: yejr2

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved