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: 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.'
作者: updd
發布時間: 2008-04-15
錯誤信息說的很明白了啊 存儲過程不能緩存結果 要用fetchAll來一次性獲得結果
作者: ten789
發布時間: 2008-04-15
我fetchAll了,還是一樣的
$Stmt = $pdo->query("call xxxx()");
$Info = $Stmt->fetchAll();
......
$Stmt2 = $pdo->query("select yyyyy");
$Stmt2->fetchAll();
還是報同樣的錯
作者: updd
發布時間: 2008-04-15
$Stmt = $pdo->fetchall('callxxx();');
PDO可以這樣么 沒用過一直在用ZEND_DB
作者: ten789
發布時間: 2008-04-15
不好意思 看了下手冊pdo->fetchall 不能這樣用
作者: ten789
發布時間: 2008-04-15
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY
$Stmt2 = $pdo->query("select yyyyy", array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));試試吧 也許有用
作者: ten789
發布時間: 2008-04-15
也試過了。。。。沒用
作者: updd
發布時間: 2008-04-15
沒遇到過這種情況.
作者: meiZiNick
發布時間: 2008-05-01
lz要干嘛?
作者: UltraBejing
發布時間: 2008-05-01
總結
以上是生活随笔為你收集整理的mysql pdo使用存储过程_PDO调用存储过程的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: asp.net mvc连接mysql_a
- 下一篇: java 数组 包含_Java中高效的判