从外部脚本CI调用database.php

时间:2012-04-12 21:12:05

标签: codeigniter

所以我有一个由AJAX请求调用的脚本,它位于CI安装根目录下名为“ajax”的文件夹中。我的代码位于我的ajax文件的顶部:

define("BASEPATH", "../../system/");
include("../../application/config/database.php");

因此它成功地抓取了database.php文件,但它告诉我“没有选择数据库”。为什么呢?

1 个答案:

答案 0 :(得分:0)

在模型中输出数据会破坏codeIgniter旨在实现的mvc的传统结构。但是mvc是一种设计模式并不是严格意义上的标准,所以除了你自己和其他将来会照顾你或者你的代码的人以外,你不会伤​​害任何人。

就像AndrewR建议的那样,为什么不对控制器进行ajax调用[再次,因为这是mvc的惯例]?如果它将在app文件夹之外,那么也许它不应该通过Web浏览器访问。

你也可以像$_CI =& get_instance();一样抓取codeigniter的全局对象的实例,并加载像$db = $_CI->load('database');这样的数据库对象

希望这有帮助!