请教:helper文件中load->library报错及foreach问题
1、想定义一个全局变量,需要从DB中取数据,按论坛所说建议定义在helper中。在helper中load->library('database'),但DB相关语句仍不能执行,有什么问题吗?
2、foreach按手册定义,是操作数组的一个拷贝,不过试验以下语句:
$query = $this->db->query(xxx)
foreach($query->result() as $row) {
$row->name = _myDeal($row->name);
}
return $query->result();
会发现,$row->name实质已经被_myDeal处理过了,是否矛盾? 定义全局变量。我比较喜欢用config文件保存,减少数据库的读取。 因为数据比较多,我是先存到DB中,再缓存到config文件,如果config文件损坏或有更新则从DB中取数据重新生成。 在 helper 需要用 get_instance() 才可以 load 类库和数据库。
$CI =& get_instance();
$CI->load->database(); 多谢Hex、Kinglike!
补充一句,方便后来者:
$CI =& get_instance();
$CI->load->database();
$query = $CI->db->query(xxx)
注意query这一句是$CI,而不是大家常用的$this。 $CI 随意了,只是个变量而已,$a $b 都行。。。 我使用$CI = & get_instance ();的时候页面显示空白,一点出错信息也没有。
页:
[1]