0

PHP で mysql ストアド プロシージャから結果セットを取得したいと考えています。どうやってやるの?どんな助けでも大歓迎です。できれば、誰かがコード スニペットを投稿できれば! たとえば、ログイン テーブルがあるとします。私はストアドプロシージャを作成しました

SELECT * FROM login

次に、このストアド プロシージャを php で呼び出し、結果セットを反復処理する必要があります。

4

1 に答える 1

0

PHP:

$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 :

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 ;
于 2012-10-03T07:31:22.833 に答える