0

次の宣言を使用してストアド プロシージャを作成しました。


DELIMITER $$

DROP PROCEDURE IF EXISTS my_test$$

CREATE PROCEDURE my_test(input_number INT, OUT out_number text)
BEGIN
IF (input_number = 0) THEN
          SET out_number='Errorrrr';
ELSE
          SET out_number='Testing';
END IF;

END$$

区切り文字;


以下は、この SP を呼び出すための私の ZF2 コードです。


    $spResponse = 0;
    $prepareStmt = $this->dbGateway->createStatement ();
    $prepareStmt->prepare ( 'CALL my_test(?,?)' );
    $prepareStmt->getResource ()->bindParam ( 1, $spRequest );
    $prepareStmt->getResource ()->bindParam ( 2, $spResponse, \PDO::PARAM_STR, 2 );
    $resultSet = $prepareStmt->execute ();

このコードは私に次のエラーを与えます:


構文エラーまたはアクセス違反: ルーチン zf2.my_test の 1414 OUT または INOUT 引数 2 は、BEFORE トリガーの変数または NEW 疑似変数ではありません


誰かが問題がどこにあるのかアドバイスできますか? また、「OUT」パラメータの値を取得するにはどうすればよいですか。

あなたの反応に感謝し、助けてください。

4

1 に答える 1

0

この低レベル コードは、ベース PDO 接続オブジェクトを取得します。このようにして、結果を PHP 流に操作できます。

于 2013-03-12T23:29:23.763 に答える