PDOStatement::setFetchMode()问题

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
这个是什么问题?本地测试没问题,放空间报错
泛舟湖上清波郎朗
浏览 337回答 2
2回答

神不在的星期二

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

慕桂英546537

PDOStatement::setFetchMode方法必须传入第一个int型的mode参数啊,你肯定没传或者传的不是int型的。至于本地测试没报错,可能是service的错误输出级别跟空间的不一样。PDOStatement::setFetchMode(int$mode);//mode//ThefetchmodemustbeoneofthePDO::FETCH_*constants.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript