#mysql #database #session-variables #codeigniter-2
#mysql #База данных #переменные сеанса #codeigniter-2
Вопрос:
Я использовал руководство пользователя CI для создания моей таблицы сеансов.
CREATE TABLE IF NOT EXISTS `sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(16) DEFAULT '0' NOT NULL,
user_agent varchar(120) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id),
KEY `last_activity_idx` (`last_activity`)
);
Эта ошибка появляется всякий раз, когда у меня $db['default']['stricton'] = TRUE
в моем database.php
Номер ошибки: 1364
Поле ‘user_data’ не имеет значения по умолчанию
ВСТАВИТЬ В
sessions
(session_id
,ip_address
,user_agent
,last_activity
) ЗНАЧЕНИЯ (‘2b92823888c4c5eb4b5b2ae25282ce9e’, ‘192.168.1.4’, ‘Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit /535.1 (KHTML, как Gecko) Chrome / 14.0.835.186 Safari /535.1’, 1317346730)Имя файла: libraries/Session.php
Номер строки: 327
Тем не менее, я хочу применить строгий SQL.
Ответ №1:
Из ссылки — столбцы BLOB и TEXT не могут иметь значения ПО УМОЛЧАНИЮ.
Вы должны добавить user_data
поле в свой оператор INSERT.
Комментарии:
1. Спасибо. Отредактировал класс сеанса в системных библиотеках. Добавьте
'user_data' => ''
в массив userdata в функции sess_create() .