ZF2从SP调用中检索出参数

时间:2013-02-21 16:35:32

标签: stored-procedures parameters zend-framework2 out

我使用以下声明创建了一个存储过程:


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

DELIMITER;


以下是我的ZF2代码来调用此SP:


    $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 ();

此代码给出了以下错误:


语法错误或访问冲突:1414 OUT或INOUT参数2用于例程zf2.my_test不是BEFORE触发器中的变量或NEW伪变量


有人可以建议问题出在哪里吗?另外,如何检索“OUT”参数的值。

感谢您的回复和帮助。

1 个答案:

答案 0 :(得分:0)

This low level code检索基本PDO连接对象。这样你就可以用PHP方式处理结果