我是靠谱客的博主 时尚小鸽子,这篇文章主要介绍ThinkPHP SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Altern,现在分享给大家,希望可以做个参考。
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.
TinkPHP 报错,由于你SQL语句中有多条操作语句,会报此等错误提示。
解决办法:
在数据库配置文件中添加配置
复制代码
1
2
3
4
5// 数据库连接参数 'params' => [ 'MYSQL_ATTR_USE_BUFFERED_QUERY' => true, ],
而官方文档是这样写的
连接参数
可以针对不同的连接需要添加数据库的连接参数(具体的连接参数可以参考PHP手册),内置采用的参数包括如下:
复制代码
1
2
3
4
5
6
7
8
9
PDO::ATTR_CASE
=> PDO::CASE_NATURAL,
PDO::ATTR_ERRMODE
=> PDO::ERRMODE_EXCEPTION,
PDO::ATTR_ORACLE_NULLS
=> PDO::NULL_NATURAL,
PDO::ATTR_STRINGIFY_FETCHES => false,
PDO::ATTR_EMULATE_PREPARES
=> false,
在database中设置的params参数中的连接配置将会和内置的设置参数合并,如果需要使用长连接,并且返回数据库的小写列名,可以采用下面的方式定义:
复制代码
1
2
3
4
5
6
'params' => [
PDO::ATTR_PERSISTENT
=> true,
PDO::ATTR_CASE
=> PDO::CASE_LOWER,
],
你可以在params里面配置任何PDO支持的连接参数。
按官方的格式要求写,根本不行,心中万头草泥马奔过,tinkphp团队写技术文档能不能认真点。
最后
以上就是时尚小鸽子最近收集整理的关于ThinkPHP SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Altern的全部内容,更多相关ThinkPHP内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复