MySQL вставка внутри библиотеки с codeigniter - PullRequest
1 голос
/ 23 марта 2011

Я пытаюсь вставить номер в базу данных из библиотеки, используя,

   $data = array(
   'id' => $id,
   'so' => '1',
   'username' => $username
);

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

но всякий раз, когда я запускаю его, я получаю «Фатальную ошибку: вызов функции-члена insert () для необъекта в»

Кто-нибудь знает почему?

Спасибо

Ответы [ 2 ]

2 голосов
/ 23 марта 2011

Если вы делаете это внутри библиотеки, вы не можете ссылаться на объект $ this, как это обычно делается в модели.Вместо этого вам нужно загрузить экземпляр CI, например, так:

$CI =& get_instance();

Затем вы сможете вставить запись в базу данных следующим образом:

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

Don 'Также не забудьте загрузить библиотеку базы данных, если она не находится в автозагрузке.

0 голосов
/ 23 марта 2011

В библиотеке «$ this» относится к классу, который вы кодируете (концепции ООП).

Объект DB является частью суперобъекта CI.Таким образом, чтобы использовать db в своем классе, вы получите ссылку на объект CI, подобный этому

$CI =& get_instance();

, а затем перепишите свои вставные характеристики следующим образом:

$CI->db->insert('db', $data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...