`

如何通过 PHP 取得 MySQL procedure 结果

阅读更多
总有网友问我,如何通过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 编写测试代码:

<?php
$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
分享到:
评论

相关推荐

    MySQL中创建procedure,function,trigger

    这个是本人在学习MySQL数据库时的一个小的总结,希望对大家有用。主要是关于如何在MySQL中创建procedure、function、trigger.

    mysql procedure源码

    mysql procedure源码for mysql-essential-5.1.55-win32

    mysql存储过程编程 MySQL.Stored.Procedure.Programming

    mysql存储过程方面的圣经,以通俗的示例方法讲述mysql存储过程的深奥内容,In MySQL Stored Procedure Programming, they put that hard-won experience to good use. Packed with code examples and covering ...

    Debugger for Mysql procedure

    Debugger for MySQL offers a balanced set of advanced debugging features that will help you minimize the time needed for managing and testing even the most complex stored functions and procedures....

    php mysql procedure实现获取多个结果集的方法【基于thinkPHP】

    本文实例讲述了php mysql procedure实现获取多个结果集的方法。分享给大家供大家参考,具体如下: protected function getRs($id) { $db = new mysqli(C("DB_HOST"), C("DB_USER"), C("DB_PWD"), C("DB_NAME"), C...

    MySQL Stored Procedure Programming

    The implementation of stored procedures in MySQL 5.0 ... This book, destined to be the bible of stored procedure development, is a resource that no real MySQL programmer can afford to do without.

    Unity通过php访问MySql

    unity通过Php对MySql数据的增、删、改、查等功能.

    PHP+MySQL动态网站开发

    《PHP+MySQL动态网站开发》注重将理论讲解与工程应用结合起来,选择的案例是作者实践的结晶,能提高读者学习的积极性和效率,通过学习这些案例,读者能够掌握《PHP+MySQL动态网站开发》的精髓,并可以直接应用到动态...

    mysql stored procedure programming PDF

    mysql stored procedure programming PDF version

    php+mysql+html实例

    php+mysql+html实例php+mysql+html实例php+mysql+html实例php+mysql+html实例php+mysql+html实例php+mysql+html实例php+mysql+html实例php+mysql+html实例php+mysql+html实例

    PHP与MySQL程序设计第四版Pdf与源码

    《PHP与MySQL程序设计 第4版 》pdf与源码 是全面讲述PHP与MySQL的经典之作 书中不但全面介绍了两种技术的核心特性 还讲解了如何高效地结合这两种技术构建健壮的数据驱动的应用程序 《PHP与MySQL程序设计 第4版 》...

    基于PHP+MySQL实现注册登录

    基于PHP+MySQL实现用户注册登录功能 一、 开发环境 ...本案例使用PHP 7中的PDO数据对象对MySQL数据库进行查询和插入操作,从而实现用户的登录和注册,同时用户登录成功后,通过Session实现用户状态保持。

    iis+php+mysql一键安装包,iis下php+mysql一键安装包兼容win系列所有系统

    本软件是windows下的iis下的php一键环境安装工具,集成了php+mysq+zend+phpmyadmin,可以...不用任何设置一键自动安装和配置iis下的php+mysql环境。安装完成有mysql的账号是 root 密码:zkeys phpmysql的端口是999!

    php查询mysql数据库并将结果保存到数组的方法

    本文实例讲述了php查询mysql数据库并将结果保存到数组的方法。分享给大家供大家参考。具体分析如下: 这里主要用到了mysql_fetch_assoc函数 mysql_fetch_assoc语法如下:  array mysql_fetch_assoc (resource $...

    PHP+mysql 网站源码

    php+mysql 源码 网站建设相关

    Android通过PHP连接mysql

    包含一个sql文件,一个php文件,和一份android代码,搭配好环境之后,可以直接运行,连接mysql ,适合初学者

    php_mysql.dll ( for PHP 5.2.11 MySQL 5.1.40 )

    php_mysql.dll for PHP 5.2.11 MySQL 5.1.40 解决某些 php 5.2 版本 连接 MySQL 5.1 时可能报错的情况

    php操作mysql详解

    mysql_db_name — 取得 mysql_list_dbs 返回的结果数据 mysql_db_query — 发送一条 MySQL 查询 mysql_drop_db — 丢弃(删除)一个 MySQL 数据库 mysql_errno — 返回上一个 MySQL 操作中的错误信息的数字编码 ...

    android 通过WampServer集成环境通过php+mysql实现注册登录功能

    android 通过WampServer集成环境通过php+mysql实现注册登录功能,中文不乱码,参考别人的代码自己写的,大家一起交流。

Global site tag (gtag.js) - Google Analytics