如何通过PHP取得MySQL procedure结果
2013-09-04 21:45
316 查看
总有网友问我,如何通过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、创建存储过程,列出 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
【相关文章】
相关文章推荐
- 如何通过 PHP 取得 MySQL procedure 的多结果集
- 如何通过 PHP 取得 MySQL procedure 结果
- 如何通过 PHP 取得 MySQL procedure 结果
- 如何通过 PHP 取得 MySQL procedure 结果
- 如何通过 PHP 取得 MySQL procedure 的多结果集
- 如何通过程序取得Excel中条件格式的结果
- 如何通过程序取得Excel中条件格式的结果
- PHP中如何通过Web执行C/C++应用程序?
- 通过web php 执行shell脚本,获取的结果与直接在命令行下获取的结果不同。
- 如何通过JDBC取得数据库表结构信息
- 如何通过PHP将excel的数据导入MySQL中
- php和js如何通过json互相传递数据相关问题探讨
- SQL存储过程测试(6)——当待测存储过程返回行集的时候 如何判断测试结果是否通过
- SQL存储过程测试(8)——当待测存储过程没有返回值的时候 如何判断测试结果是否通过
- PHP如何通过Http Post请求发送Json对象数据?
- php调用系统命令如何获得输出结果
- 使用Hibernate criteria进行分页查询时,如何实现一次查询取得总记录数和分页后结果集
- 配置Nginx来支持PHP----重点介绍Nginx如何通过PHP_FPM的FastCGI进程对PHP进行解析处理。
- 后台如何通过Request取得多个含有相同name的控件的值?