【发布时间】:2012-05-26 18:01:09
【问题描述】:
我一直在使用子查询库 - Subquery.php 参考:https://github.com/NTICompass/CodeIgniter-Subqueries
$this->db->select('test');
$this->db->select('test2');
$this->db->from('table');
$sub = $this->subquery->start_subquery('where_in');
$sub->select('IDs');
$sub->from('idTable');
$sub->where('date', '2011-07-10');
$this->subquery->end_subquery('id');
我认为这种说法:
$sub = $this->subquery->start_subquery('where_in');
包含错误。当我执行这一行时,我得到一个空白页。 fn。 start_subquery 是:
function start_subquery($statement, $join_type = '', $join_on = 1){
$db = $this->CI->load->database('', true); // after executing this statement, a blank page shows...
$this->dbStack[] = $db;
$this->statement[] = $statement;
if(strtolower($statement) == 'join'){
$this->join_type[] = $join_type;
$this->join_on[] = $join_on;
}
return $db;
}
仅供参考 - 在我的 database.php 中:
$active_group = 'default'
$active_record = TRUE;
CI版本是2.1.0
【问题讨论】:
-
在您的控制器中尝试:
$this->load->database('',true);并检查它! -
感谢您的回复,但是...不,它不起作用。 :(。如果是这样,应该用以下语句替换什么: $db = $this->CI->load->database('', true); 在 start_subquery 函数中?
-
load->database()应该可以工作。所以请不要改变!我认为这个子查询库没问题。恕我直言,问题是您在 CI 中的数据库配置:codeigniter.com/user_guide/database/configuration.html 请检查! -
我已经检查了数据库配置文件和文档。
$active_group = '默认';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = '****';
$db['default']['password'] = '***';
$db['default']['database'] = '* ***';
$db['default']['dbdriver'] = 'mysql';
其余配置为默认。 -
你可以使用db的任何功能吗?例如。一个简单的
select可以看到codeigniter.com/user_guide/database/examples.html?
标签: php codeigniter subquery