如何在PhalconPHP中获取存储过程的输出参数@aa?
获取MySQL存储过程输出参数@aa的方法
要拿到存储过程的输出参数@aa其实很简单,你只需要在执行完存储过程之后,再执行一条查询语句来读取这个会话级变量的值就行。我帮你修正了原示例里的语法错误,给你一个可以直接用的版本:
$item = new Items2; $connection = $item->getReadConnection(); // 调用存储过程,传入参数并定义输出变量@aa $sql = "CALL `OLViewItemsListViewAllWithCount`('','','',0,0,0,0,0,0,0,'2018-05-15',0,0,10,@aa);"; // 获取存储过程返回的结果集(如果不需要结果集可以省略这一步) $items = $connection->query($sql)->fetchAll(\Phalcon\Db::FETCH_ASSOC); // 执行查询获取输出参数@aa的值 $sql2 = "SELECT @aa"; $aaResult = $connection->query($sql2)->fetch(); // 输出参数值 echo $aaResult['@aa'];
关键点说明:
- MySQL的
@aa是会话变量,在同一个数据库连接会话中可以直接读取 - 必须在同一个数据库连接下执行存储过程和后续的
SELECT @aa查询,否则会读取不到值 - 原示例里的语法错误已经修正:比如多余的
$robot变量、重复的分号、缺失的引号
内容的提问来源于stack exchange,提问作者jafar
相关产品推荐
相关产品推荐

