• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > SQLSTATE[HY000]: General error: mode must be an integer

SQLSTATE[HY000]: General error: mode must be an integer

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了SQLSTATE,General error: mode must be an integer等相关知识,希望对您有所帮助

今天在写自定义mvc框架的时候遇到一个问题:

SQLSTATE[HY000]: General error: mode must be an integer

下面贴上代码:

//这是报错位置的代码public function dao_query($sql,$all = true){    try{        $stmt = $this->pdo->query($sql);        //设置fetch_mode                          $stmt->setFetchMode($this->fetch_mode);//这里报错        //解析数据        if(!$all){            return $stmt->fetch();        }else{            return $stmt->fetchAll();        }    }catch(PDOException $e){        $this->dao_exception($e);    }}

代码提示:General error: mode must be an integer,我又去翻了一下文档

PDOStatement::fetchAll([ int $fetch_style [, mixed $fetch_argument   [, array $ctor_args = array()  ]]] ) : array

这里标注$fetch_style必须为int型,后来我直接将 $this->fetch_mode 直接改成 PDO::FETCH_ASSOC,发现运行成功,后来翻到我的config里面存储的竟然是个字符串类型:

'database'=>array(    'type'=>'mysql',    'host'=>'localhost',    'port'=>'3306',    'user'=>'root',    'pass'=>'root',    'charset'=>'utf8',    'dbname'=>'my_database',    'fetch_mode'=>'PDO::FETCH_ASSOC',//这里的问题    'prefix'=>''),

不过为了美观,我还是决定不改config了,于是................:

$stmt->setFetchMode(constant($this->fetch_mode));//这里必须使用int $model  constant($this->fetch_mode)

文档的解释:

constant    ( string $name   ) : mixed

通过 name 返回常量的值。

当你不知道常量名,却需要获取常量的值时,constant() 就很有用了。也就是常量名储存在一个变量里,或者由函数返回常量名。

返回常量的值。如果常量未定义则返回 NULL。



分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • SQLSTATE[HY000]: General error: mode must be an integer

相关文章

  • php如何实现图片上传的封装
  • 在非Laravel项目中怎么使用Validator验证器
  • Photoshop绘制质感的金色水滴视频教程
  • Discuz! X3.3 X3.2移除dz云平台cp.discuz.qq.com去除discuz_tips去除discuz.gtimg.cn
  • 实现从Redis中订阅消息转发到 WebSocket 客户端
  • zblog php 忘记密码怎么办
  • MySQL数据库的root密码忘记该怎么办
  • 认识一下vue中的模板语法,聊聊容器和实例的关系
  • 详解Laravel使用多数据库的方法(附代码示例)
  • 如何使用PhpSpreadsheet导入导出Excel

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 怎么修改和重置WAMP的phpMyAdmin密码
    • 浅谈微信小程序中引入并使用自带和外部图标的方法
    • css如何实现适配iphone全面屏
    • Vue 手势组件教程
    • 关于ThinkPHP6多例Redis类实现
    • Photoshop制作逼真复古效果的黑胶唱片
    • 网站地图设计的五个技巧
    • Phpcms V9广告位循环数据调用方法详解
    • Discuz!您当前的访问请求当中含有非法字符,已经被系统拒绝解决办法
    • 3大技巧秒杀百度的首页排名

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有