如何经由PHP获得MySQL procedure结果

作者: 叶金荣 来由:IT专家网 
 
阅读提示:总有网友问我,如何经由php挪用MySQL的存储进程同时获得前往的结果集呢?的确,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\n", 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





版权声明: 原创作品,准许转载,转载时请务必以超链接形式标明文章 原始来由 、作者信息和本声明。否则将清查法律责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1974636.html