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