失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql pdo使用存储过程_PDO调用存储过程的问题

mysql pdo使用存储过程_PDO调用存储过程的问题

时间:2021-05-13 11:49:49

相关推荐

mysql pdo使用存储过程_PDO调用存储过程的问题

你的位置:

问答吧

-> PHP

-> 问题详情

PDO调用存储过程的问题

我已经设置了

$GDBObj->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);

连续调用两次

$pdo->query("select xxxxx");

$pdo->query("select yyyyyy");

没有问题

但是如果调用存储过程

$pdo->query("call xxxx");

$pdo->query("select yyyyy");

就会报错:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 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.'

作者: updd

发布时间: -04-15

错误信息说的很明白了啊 存储过程不能缓存结果 要用fetchAll来一次性获得结果

作者: ten789

发布时间: -04-15

我fetchAll了,还是一样的

$Stmt = $pdo->query("call xxxx()");

$Info = $Stmt->fetchAll();

......

$Stmt2 = $pdo->query("select yyyyy");

$Stmt2->fetchAll();

还是报同样的错

作者: updd

发布时间: -04-15

$Stmt = $pdo->fetchall('callxxx();');

PDO可以这样么 没用过一直在用ZEND_DB

作者: ten789

发布时间: -04-15

不好意思 看了下手册pdo->fetchall 不能这样用

作者: ten789

发布时间: -04-15

PDO::MYSQL_ATTR_USE_BUFFERED_QUERY

$Stmt2 = $pdo->query("select yyyyy", array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));试试吧 也许有用

作者: ten789

发布时间: -04-15

也试过了。。。。没用

作者: updd

发布时间: -04-15

没遇到过这种情况.

作者: meiZiNick

发布时间: -05-01

lz要干嘛?

作者: UltraBejing

发布时间: -05-01

如果觉得《mysql pdo使用存储过程_PDO调用存储过程的问题》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。