首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php中从存储过程返回结果

问在php中从存储过程返回结果
EN

Stack Overflow用户
提问于 2012-10-03 15:15:06
回答 1查看 579关注 0票数 0

我想在php中从mysql存储过程中获得一个结果集。我该怎么做呢?任何帮助都是非常感谢的。最好是有人可以张贴一个代码片段!例如,如果我有一个登录表。我创建了一个存储过程,它执行以下操作

代码语言:javascript
复制
SELECT * FROM login

现在我需要在php中调用这个存储过程并迭代结果集。

EN

回答 1

Stack Overflow用户

发布于 2012-10-03 15:31:23

PHP:

代码语言:javascript
复制
$mysqli = new mysqli("localhost", "root", "", "quadv2_dev");

if (!$mysqli->multi_query("CALL testlist()")) {
    echo "CALL failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

do {
    if ($res = $mysqli->store_result()) {
        printf("---\n<pre/>");
        print_r($res->fetch_all());
        $res->free();
    } else {
        if ($mysqli->errno) {
            echo "Store failed: (" . $mysqli->errno . ") " . $mysqli->error;
        }
    }
} while ($mysqli->more_results() && $mysqli->next_result());

mysql:

代码语言:javascript
复制
DELIMITER $$

CREATE
    /*[DEFINER = { user | CURRENT_USER }]*/
    PROCEDURE `quadv2_dev`.`testlist`()
    /*LANGUAGE SQL
    | [NOT] DETERMINISTIC
    | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
    | SQL SECURITY { DEFINER | INVOKER }
    | COMMENT 'string'*/
    BEGIN

    SET @Qry ="SELECT *  FROM Content";
    PREPARE st FROM @Qry;
    EXECUTE st;
    DEALLOCATE PREPARE st;

    END$$

DELIMITER ;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12703580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档