次の宣言を使用してストアド プロシージャを作成しました。
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」パラメータの値を取得するにはどうすればよいですか。
あなたの反応に感謝し、助けてください。