MySQL使用codeigniter在库中插入

时间:2011-03-23 05:10:59

标签: php mysql codeigniter

我正在尝试使用

从库中插入数字到数据库中
   $data = array(
   'id' => $id,
   'so' => '1',
   'username' => $username
);

$this->db->insert('db', $data); 

但每当我运行它时,我得到“致命错误:在”

中的非对象上调用成员函数insert()

任何人都知道为什么?

由于

2 个答案:

答案 0 :(得分:2)

如果您在库中执行此操作,则无法像通常在模型中那样引用$ this对象。相反,您需要加载CI的实例,如下所示:

$CI =& get_instance();

然后你应该能够将记录插入数据库,如下所示:

$CI->db->insert('db', $data);

如果数据库库不在自动加载中,请不要忘记加载数据库。

答案 1 :(得分:0)

在库中,“$ this”指的是您正在编码的类(OOP概念)。

DB对象是CI superobject的一部分。因此,为了在您的类中使用db,您将获得对CI对象的引用,如此

$CI =& get_instance();

然后像这样重写你的插入语句

$CI->db->insert('db', $data);