如何经过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





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

posted @ 2011-03-07 17:06  蓝色的天空III  阅读(127)  评论(0)    收藏  举报