嘿,伙计们,希望你们能帮我。
基本上我是在一个网站上工作,这个网站是由别人用codeigniter创建的。该站点有两个实例,一个用于开发,另一个用于实时。该站点仍在建设中,这意味着文件不断地被更改,并从开发站点(经过测试)移动到活动站点。
现在的问题是,最初创建该站点的人从几个视图进行了一些数据库调用。为了从视图访问数据库,他从视图手动连接到数据库,即使用
$db=mysql_connect(...);
mysql_select_db(...);这意味着每次更改视图时,在将文件从开发站点复制到实时站点之前,我们需要更改这些视图中的变量。
将所有查询移动到模型,然后通过控制器调用它们会花费太长时间,所以我想知道是否有一种方法可以访问database.php文件中的数据库变量,并将它们作为mysql_connect的变量传递。
我尝试$this->db->数据库,但得到错误消息"Undefined property: CI_Loader::$db“
提前感谢
发布于 2012-06-20 22:09:22
在constant.php中定义常量,为它们分配数据库用户名、密码、主机名等,并根据需要在任何地方使用它们
发布于 2012-06-20 22:06:15
无法从视图访问数据库对象。你也不应该这样做
$db=mysql_connect(...);
mysql_select_db(...);在视图中。尝试从视图中删除这些调用。并从模型中调用它。
这就是MVC in codeigniter的用途。另外,使用codeigniter框架有什么用。
另请参阅:
发布于 2012-06-20 22:05:38
首先,不要急于将数据库调用转移到视图,而要看一下这个答案:https://stackoverflow.com/a/5835321/1444604
https://stackoverflow.com/questions/11120983
复制相似问题