我正在尝试从 Codeigniter 中的第二个数据库进行查询,因此在我的数据库配置中,我有以下内容:
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'gallery';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
$db['tc']['hostname'] = 'localhost';
$db['tc']['username'] = 'root';
$db['tc']['password'] = '';
$db['tc']['database'] = 'timecard';
$db['tc']['dbdriver'] = 'mysql';
$db['tc']['dbprefix'] = '';
$db['tc']['pconnect'] = TRUE;
$db['tc']['db_debug'] = TRUE;
$db['tc']['cache_on'] = FALSE;
$db['tc']['cachedir'] = '';
$db['tc']['char_set'] = 'utf8';
$db['tc']['dbcollat'] = 'utf8_general_ci';
$db['tc']['swap_pre'] = '';
$db['tc']['autoinit'] = TRUE;
$db['tc']['stricton'] = FALSE;
在我的模型方法中,我有以下代码:
public function getAll()
{
$tc = $this->load->database('tc', TRUE);
$sql = "SELECT username, MIN(timeIn)
FROM timecard2.tc_timecard
GROUP BY userid having MIN(timeIn) >? and
MIN(timeIN)<? order by MiN(timeIN);";
$q=$tc->query($sql,'2013-01-08','2013-01-23');
if ($q->num_rows() > 0)
{
foreach ($q->result() as $row) {
$data[] = $row;
}
return $data;
}
}
但它不起作用!这是查询第二个数据库的正确方法吗?
如果您需要更多澄清,请告诉我您需要更多澄清的部分。
编辑: 刚刚发现它可以很好地与一个一起工作?(范围)!它适用于以下代码:
$sql = "SELECT username, MIN(timeIn)
FROM tc_timecard
GROUP BY userid having
MIN(timeIn) > ? and MIN(timeIN) < '2013-01-23'
order by MiN(timeIN);";
$q=$tc->query($sql,'2013-01-08');
你知道为什么它没有得到第二个参数吗?
谢谢