Запрос в базу [CodeIgniter]
1.
юЮЮфюв (06.01.2012 / 18:10)
Сегодня начал писать сайт на данном фреймворке и пришёл к тому, что не могу выполнить запрос в бд.
Запрос такой:
$sql = "INSERT INTO users SET login = ". $_POST['reg_login'] .",password = ".$_POST['reg_password']."";
$this->db->query($sql);
Выдаёт ошибку:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Users::$db
Filename: controllers/users.php
Line Number: 43
Fatal error: Call to a member function query() on a non-object in W:\html\test\www\application\controllers\users.php on line 43
Добавлено через 01:03 сек.
Подскажите, что не так
2.
юЮЮфюв (06.01.2012 / 18:50)
$data = array(
'login' => 'My log' ,
'password' => 'My pas' ,
);
$this->db->insert('users', $data);
Тоже не работает
3.
Neformat (06.01.2012 / 19:38)
Читаем сначала тут
http://www.code-igniter.ru/user_guide/overview/mvc.html
Потом тут
http://www.code-igniter.ru/user_guide/general/models.html
И обязательно тут
http://www.code-igniter.ru/user_guide/database/index.html
4.
юЮЮфюв (06.01.2012 / 19:44)
Т.е нужно создать модель?какую?)
Добавлено через 02:07 сек.
Всё, понял вроде
5.
Neformat (06.01.2012 / 19:50)
DanteS (6 Января 2012 / 19:44)
Т.е нужно создать модель?какую?)
Нужно, так "правильнее". Не забыть в контроллере загрузить модель, загрузить класс для работы с БД (либо засунуть в аутолоад) и настроить конфиг соединения с БД
6.
юЮЮфюв (06.01.2012 / 19:53)
В автолоад какой код пихнуть?
7.
Neformat (06.01.2012 / 21:48)
DanteS (6 Января 2012 / 19:53)
В автолоад какой код пихнуть?
Найди там вот этот блок:
<?php
/*
| -------------------------------------------------------------------
| Auto-load Libraries
| -------------------------------------------------------------------
| These are the classes located in the system/libraries folder
| or in your application/libraries folder.
|
| Prototype:
|
| $autoload['libraries'] = array('database', 'session', 'xmlrpc');
*/
$autoload['libraries'] = array('database');
?>
8.
юЮЮфюв (07.01.2012 / 07:40)
Фильтровать переменные надо?читал вроде, что он сам фильтрует..
Добавлено через 05:51 сек.
Нормально будет, если контроллер будет иметь такую структуру
<<код контроллера>>
«тут подключаю модель с запросом в базу»
<<код контроллера>>
9.
Neformat (07.01.2012 / 12:02)
DanteS (7 Января 2012 / 07:40)
Фильтровать переменные надо?читал вроде, что он сам фильтрует..
http://whitepiano.ru/51/ci-database-queries.html
Добавлено через 05:51 сек.
Нормально будет, если контроллер будет иметь такую структуру
<<код контроллера>>
«тут подключаю модель с запросом в базу»
<<код контроллера>>
Ну так или в конструктор кортроллера
10.
Ant0ha (07.01.2012 / 18:02)
Не перспективно что-то писать на полумертвом фреймворке)
11.
JustZero (07.01.2012 / 18:06)
10.
Ant0ha, на кохана лучше писать? на CI хоть документация норм есть...
12.
Neformat (07.01.2012 / 19:25)
Ant0ha (7 Января 2012 / 18:02)
Не перспективно что-то писать на полумертвом фреймворке)
Скорее жив чем мертв, по крайней мере последний релиз был совсем недавно и баги исправляют. Так что для небольших проектов - самое то.
13.
Ant0ha (07.01.2012 / 19:48)
12.
Neformat, релиз был как многие отметили "ради релиза", просто напомнить и себе, сказать, что проект еще жив. Сам ФВ требует жесткого допиливания для использования в нормальных проектах. Просто не перспективно его изучать, это моё мнение.
URL:
https://visavi.net/topics/28143