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

如何通過PHP取得MySQL procedure結果

編輯:關於PHP編程

總有網友問我,如何通過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: %sn", mysqli_connect_error());

exit();

}

$query = "call yejr();";

if ($result = $mysqli->query( $query)) {

while($row = $result->fetch_row())

{

printf ("find table: %s n", $row[0]);

}

}

$result->close();

?>

 
結果大致如下:

find table: yejr1

find table: yejr2

【相關文章】


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