对非对象codeigniter调用成员函数insert()
我试图在codeigniter中将数据插入mysql。控制器类:对非对象codeigniter调用成员函数insert(),codeigniter,insert,Codeigniter,Insert,我试图在codeigniter中将数据插入mysql。控制器类: class Ci_insert extends CI_Controller { function __construct() { parent::__construct(); } function index() { $data = array(
class Ci_insert extends CI_Controller
{
function __construct()
{
parent::__construct();
}
function index()
{
$data = array(
"USN" => "TRE5rCS89G",
"name" => "NITISH DOLAKASHARIA",
"branch" => "CS"
);
$this->load->model('ci_insert_model');
$this->ci_insert_model->addToDb($data);
}
}
模型类:
class ci_insert_model extends CI_Model
{
function __construct()
{
parent::__construct();
}
function addToDb($data)
{
//var_dump($data);
$this->db->insert('class_record',$data);
}
}
但是当我试图运行代码时,它显示了致命错误:在第12行的C:\wamp\www\CodeIgniter\application\models\ci\u insert\u model.php中的非对象上调用成员函数insert()
上面的代码有什么问题吗?试试看
控制器:insert.php
class Insert extends CI_Controller
{
function __construct()
{
parent::__construct();
}
function index()
{
$data = array(
"USN" => "TRE5rCS89G",
"name" => "NITISH DOLAKASHARIA",
"branch" => "CS"
);
$this->load->model('insert_model');
$this->insert_model->addToDb($data);
}
}
模型:insert_Model.php
class Insert_model extends CI_Model
{
function __construct()
{
parent::__construct();
}
function addToDb($data)
{
//var_dump($data);
$this->db->insert('class_record',$data);
}
}
请在类的后面写大写字母,不要像ci
那样添加前缀,因为您缺少$this->load->database()代码>
$this->db->method_name()代码>仅在加载数据库库时起作用
如果您计划在整个应用程序中使用数据库,我建议将其添加到/application/config/
中的autoload.php
正如其他人所提到的,从类名中删除CI\uu
前缀CI
是为框架类保留的。您必须在'$this->load->library('database')之前的模型中使用'$this->db->insert()'
或
自动加载数据库库。转到配置文件夹选择autoload.php搜索$autoload['libraries'],并将空数组()替换为数组('database')。在配置文件夹中添加自动加载库打开autoload.php并设置$autoload['libraries']=array('database')代码>不要将ci
用作为codeigniter本机类保留的类的前缀。来自文档:请注意,所有本机CodeIgniter库都以CI作为前缀,因此不要将其用作前缀。是否自动加载数据库库?