`

php调用mysql存储过程返回多个结果集的处理

    博客分类:
  • php
阅读更多

回一个结果全世界都知道怎么处理,关键是返回多个结果集就不好办了,下面有一解决办法

存储过程代码
DELIMITER $$;

DROP PROCEDURE IF EXISTS `test`.`sp_test`$$

CREATE PROCEDURE `test`.`sp_test` ()
BEGIN
    select * from `user`.`user` limit 0, 50;
    select count(0) as `count` from `user`.`user`;
END$$

DELIMITER ;$$

php 代码
view plaincopy to clipboardprint?
$rows = array ();  
$db = new mysqli('127.0.0.1','root','123456','user');  
if (mysqli_connect_errno()){  
    $this->message('Can not connect to MySQL server');  
}  
$db->query("SET NAMES UTF8");  
if($db->real_query("call sp_test()")){  
    do{  
        if($result = $db->store_result()){  
            while ($row = $result->fetch_assoc()){  
                array_push($rows, $row);  
            }  
            $result->close();  
        }  
    }while($db->next_result());  
}  
$db->close(); 

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jxncwzb/archive/2009/11/13/4807991.aspx

分享到:
评论

相关推荐

    mysql存储过程之返回多个值的方法示例

    在本示例中,我们将探讨如何通过存储过程返回多个值,并且结合PHP进行调用。 首先,我们要明白在MySQL中,存储函数只能返回一个单一的值,而存储过程则可以处理更复杂的情况,包括返回多个值。要实现这一功能,我们...

    PHP和MySQL存储过程实例

    根据给定的信息,我们可以深入探讨PHP与MySQL存储过程的相关知识点,包括如何在MySQL中使用`CONCAT`函数、创建存储过程以及如何通过PHP脚本来调用这些存储过程。 ### 使用 CONCAT 函数 #### 标题中的示例 ```sql ...

    PHP调用MySQL的存储过程的实现代码

    总的来说,PHP通过MySQLi扩展提供了灵活的方式来调用MySQL的存储过程,包括处理返回的结果。在实际应用中,应根据存储过程的特性和项目需求选择合适的方法,并注意管理数据库连接,以提高程序的稳定性和性能。如果...

    mysql存储过程实例

    MySQL 存储过程实例 MySQL 存储过程实例详细介绍了 MySQL 存储过程的开发步骤,本节将通过具体的实例...本实例详细介绍了 MySQL 存储过程的开发步骤,并通过 PHP 调用存储过程,实现了用户注册信息的保存到数据库。

    PHP_MySQL_存储过程_最新

    存储过程可以定义输入参数、输出参数和输入输出参数,通过这些参数,存储过程能够接收外部传入的数据并返回处理结果。 #### 新的SQL语句 MySQL 5.0中新增了用于存储过程的SQL语句,如`CREATE PROCEDURE`和`DROP ...

    php调用MySQL存储过程的方法集合(推荐)

    在PHP中调用MySQL存储过程是数据库操作中的常见任务,特别是在需要执行复杂逻辑或批量处理时。以下将详细讲解四种不同的方法,以便于在PHP中有效地调用存储过程。 **类型一:调用带输入、输出类型参数的方法** 在...

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

    在本篇文章中,我们主要探讨了在ThinkPHP框架下,如何通过PHP代码实现对MySQL存储过程返回的多个结果集的处理。 首先,我们要明确存储过程的作用和好处。存储过程是一组为了完成特定功能的SQL语句集,它可以被存储...

    MySQL存储过程实例教程

    MySQL存储过程是一种预编译的SQL语句集合,它允许开发者封装一系列的操作在一个单一的命名实体中,提高了数据库操作的效率和安全性。在MySQL 5.0及以后的版本中,存储过程成为了重要的功能之一,尤其对于大型和复杂...

    php mysql数据库 存储session

    在实现PHP MySQL数据库存储session的过程中,我们需要做以下几步: 1. **配置session处理**:修改PHP的session配置,设置session.save_handler为"sql_session"(假设我们有一个自定义的session处理器),并且设置...

    php ajax mysql 点击加载更多 分页

    在分页加载更多数据的场景中,PHP主要负责与MySQL数据库交互,处理请求,如查询、排序和过滤数据,然后将处理后的结果返回给前端。 2. AJAX(Asynchronous JavaScript and XML):AJAX不是单一的技术,而是一种使用...

    新手学习,php7中mysql数据库操作类实例,非常清晰易懂

    在PHP7中,MySQL数据库操作通常使用mysqli或PDO_MySQL扩展进行,但对于新手来说,创建一个封装好的数据库操作类可以简化很多工作。这个实例主要介绍如何构建一个PHP7中的MySQL数据库操作类,以实现连接、查询、插入...

    PHP基础,使用PHP访问表单数据

    如果多个数据库操作需要一起成功或一起失败,可以使用事务。`mysqli_begin_transaction()`、`mysqli_commit()`和`mysqli_rollback()`等函数可以帮助管理事务。 7. **错误处理和安全实践**: 在处理PHP和MySQL时,...

    MySQL5创建存储过程的示例

    值得注意的是,如果存储过程返回多个结果集,必须使用支持多结果集的PHP扩展来处理,如mysqli扩展。使用旧的mysql扩展尝试获取多个结果集时,会出现“can't return a result set in the given context”这样的错误。...

    PHP调用存储过程返回值不全都问题的解决方法分析_.docx

    `do...while`循环确保所有结果都被处理,包括存储过程的多个结果集。最后,关闭数据库连接。 通过这种方式,我们可以在PHP中正确地获取存储过程的所有返回值,避免因会话隔离导致的返回值不全问题。这个解决方案...

Global site tag (gtag.js) - Google Analytics