che*_*zeh 1 php mysql codeigniter-2
我是codeigniter的新手,我开发了一个代码来对数据库进行查询.我使用$this->load->database();并执行查询来加载数据库,但是当我运行代码时,浏览器会给我以下错误消息:
A PHP Error was encountered Severity: Notice Message: Undefined property: Tutorial::$load.
Fatal error: Call to a member function database() on a non-object
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码:
class Tutorial extends CI_Controller {
public function tutorial() {
$this->load->database();
$query = $this->db->query('SELECT user,pass,email FROM tablex');
foreach ($query->result() as $row) {
echo $row->title;
echo $row->name;
}
Run Code Online (Sandbox Code Playgroud)
我确信$db我的数据库配置文件中的变量已正确设置,我甚至尝试为autoload.php配置文件中的所有页面自动加载数据库; 仍然有同样的问题.任何想法如何去做?
更改
$this->load->database();
Run Code Online (Sandbox Code Playgroud)
至
$this->load->library('database');
Run Code Online (Sandbox Code Playgroud)
数据库不是直接的方法.它是codeigniter中的库,您必须将其作为库加载.
您也可以自动加载database库autoload.php.
更新:
您为类和方法使用相同的名称.在PHP4中,与类名相同的方法被视为构造函数,但如果使用的是codeigniter 2+,则必须使用PHP5构造函数,即
function __construct()
{
parent::__construct();
/*Additional code which you want to run automatically in every function call */
}
Run Code Online (Sandbox Code Playgroud)
在Codeigniter 2+中,您不能给出与类名相同的方法.将方法更改为其他任何方法.index如果要在默认情况下加载方法,可以命名该方法.
这应该可以解决您的问题.
| 归档时间: |
|
| 查看次数: |
14929 次 |
| 最近记录: |