开发者社区 问答 正文

求教PDOStatement::setFetchMode()问题

function fetch($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]: General error: mode must be an integer
这个是什么问题?本地测试没问题,放空间报错

展开
收起
落地花开啦 2016-06-16 15:00:38 1972 分享 版权
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    你得把代码和数据库从你的项目中抽出来并尽量简化,以便于其它人在自己的电脑上重现你遇到的问题,再来分析。

    PDO扩展在Windows环境和Linux环境的行为不相同,有的代码在Windows环境是不报错的(warning、notice全打开也不报),但在linux环境就会报错的
    改一行代码:
    $query->setFetchMode(constant($result_type));

    2019-07-17 19:40:55
    赞同 展开评论
问答分类:
PHP
问答地址: