• 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

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了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

相关文章

  • 2022-04-29PTcms4.28安装搭建详细教程
  • 2022-04-29ThinkPHP支持的四种URL模式:普通模式、PATHINFO、REWRITE和兼容模式
  • 2022-04-29关于24小时快速排名SEO优化关键词排名前三的猫腻
  • 2022-04-29使用18小时快速搜索引擎排名的后果
  • 2022-04-29最新苹果cms漏洞被频繁挂马该如何解决
  • 2022-04-29DEDE内容页调用栏目的SEO标题、描述、关键字的方
  • 2022-04-29解决php Composer出现SSL报错问题
  • 2022-04-29帝国cms 自定义页面 调用分类方法
  • 2022-04-29Photoshop制作可口的巧克力立体字教程
  • 2022-04-29如何禁用WordPress5.8小工具区块编辑模式

文章分类

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

最近更新的内容

    • 重新对百度支付进行编写封装(百度智能小程序支付)
    • CSS如何修改placeholder的颜色
    • Photoshop制作逼真的木刻效果艺术字
    • PHP会话控制:cookie和session区别与用法深入理解
    • Uniapp中怎么使用scrpll-view组件实现下拉刷新
    • PhotoShop图层样式制作透明质感玻璃文字效果教程
    • 五步搞定Laravel Migrations的使用
    • PHP生成缩略图实例讲解
    • Thinkphp5.1趣味实现学生扫码选座功能
    • DEDECMS V5.7 伪静态设置

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

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