【问题标题】:Fatal error: Call to undefined method CI_DB_mysql_driver::where()致命错误:调用未定义的方法 CI_DB_mysql_driver::where()
【发布时间】:2012-02-06 03:53:30
【问题描述】:

我刚刚升级了我的 CodeIgniter 版本...我浏览了配置文件并复制了不在我现有配置中但在新配置文件中的任何值。我遇到了 Active Record 不工作的错误,我不确定为什么。我正在尝试调试并将其追溯到代码中的问题,但我正在苦苦挣扎。关于我应该做什么的任何想法?我的错误是

Fatal error: Call to undefined method CI_DB_mysql_driver::where() in /scripts/htdocs/smartdox-libraries/smartdox/system/libraries/Session.php on line 201

CI 自己的会话类正在尝试使用此功能。

config/database.php

$active_group = "default";
$active_record = TRUE;

$db['default']['hostname'] = CPOD_DATABASE_SERVER;
$db['default']['username'] = CPOD_DATABASE_USER;
$db['default']['password'] = CPOD_DATABASE_PASSWORD;
$db['default']['database'] = CPOD_DATABASE;
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";

经过初步调查,似乎将“数据库”对象加载到 CI 的库自动加载会导致加载了 $active_record 值的 DB 对象拉入 false。

【问题讨论】:

  • 您使用的活动记录代码是什么?您是否能够使用活动记录运行任何其他查询?你有没有自动加载数据库?
  • 您是否检查了config/autoload.php 以确保数据库自动加载库操作?我正在使用 CI v 2.0.3 并且为了处理活动记录,我刚刚加载了 db 库。不知道具体是什么问题。我认为最好在 CI 论坛上分享。
  • 那些CPOD_DATABASE* 常量定义在哪里?
  • @Catfish 不,这是会话库,它是第一个尝试使用数据库类的东西。
  • @MahanGM - 我确实在论坛上发过帖子。链接在这里:codeigniter.com/forums/viewthread/208111

标签: php mysql codeigniter activerecord


【解决方案1】:

您是否将 datamapper 引导程序添加到 index.php 文件的底部?这解决了我的问题。

参见安装页面第 9 点: http://datamapper.wanwizard.eu/pages/installation.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-07
    • 2012-01-03
    • 2015-10-16
    • 1970-01-01
    • 2015-01-28
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多