为了账号安全,请及时绑定邮箱和手机立即绑定

PDOStatement::setFetchMode()问题

PDOStatement::setFetchMode()问题

泛舟湖上清波郎朗 2019-04-09 20:24:29
functionfetch($query='',$type='BOTH'){$result_type="PDO::FETCH_".$type;$query->setFetchMode($result_type);//这报错,$query是pdo的query结果$result_arr=$query->fetch();return$result_arr;}PDOStatement::setFetchMode():SQLSTATE[HY000]:Generalerror:modemustbeaninteger这个是什么问题?本地测试没问题,放空间报错
查看完整描述

2 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

nocode,notruth.
你得把代码和数据库从你的项目中抽出来并尽量简化,以便于其它人在自己的电脑上重现你遇到的问题,再来分析。
PDO扩展在Windows环境和Linux环境的行为不相同,有的代码在Windows环境是不报错的(warning、notice全打开也不报),但在linux环境就会报错的,我7年前遇到过。
改一行代码:
$query->setFetchMode(constant($result_type));
                            
查看完整回答
反对 回复 2019-04-09
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

PDOStatement::setFetchMode方法必须传入第一个int型的mode参数啊,你肯定没传或者传的不是int型的。至于本地测试没报错,可能是service的错误输出级别跟空间的不一样。
PDOStatement::setFetchMode(int$mode);
//mode
//ThefetchmodemustbeoneofthePDO::FETCH_*constants.
                            
查看完整回答
反对 回复 2019-04-09
  • 2 回答
  • 0 关注
  • 336 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信