1

CakePHP でストアド プロシージャを呼び出す方法はありますか?

$results = $this->query('call p2');
echo $results;

ただし、このエラーが発生し続けます:

Error: SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered 
queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code 
is only ever going to run against mysql, you may enable query buffering by setting the 
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
4

2 に答える 2

0

プロシージャの他のインスタンスが間に呼び出されないようにするために、トランザクション内でこれを行いました。

$this->begin();
$this->query("CALL procedure();");
$result = $this->query("SELECT something");
$this->commit();

あなたの問題は、あなたが電話していることかもしれません:

$this->query('call p2');

電話する場所:

$this->query('call p2()');

プロシージャは関数によく似ているためです。

于 2012-08-03T08:26:31.313 に答える