作者:叶金荣, ,阅读提示:总有网友问我,如何经由php挪用MySQL的存储进程同时获得前往的结果集呢?的确,MySQL的存储进程巨细气便了编程也行进了从命。,总有网



作者: 叶金荣

 

阅读提示:总有网友问我,如何经由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






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