|
|
|
| есть таблица
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| id_emp | tinyint(4) | NO | PRI | NULL | auto_increment |
| firstName | varchar(255) | YES | | NULL | |
| lastName | varchar(255) | YES | | NULL | |
| user_id | varchar(30) | YES | | NULL | |
| password | tinytext | YES | | NULL | |
| email | varchar(30) | YES | | NULL | |
| session | tinytext | YES | | NULL | |
| lastView | datetime | YES | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
|
Пытаюсь вставить в нее поля поля из формы:
"INSERT INTO employees VALUES (0,'$first_name','$last_name','$user_id','$md5_password','$email','$session_id')"
|
При этом, если все поля формы набраны латиницей, то все ОК
Если, например, firstName набран кирилицей, то получаю ошибку:
ERROR: 1136 Column count doesn't match value count at row 1
Подскажите пожалуйста, где у меня может быть ошибка? | |
|
|
|
|
|
|
|
для: dove
(18.03.2008 в 12:05)
| | Сори, не тот код написал
Ошибка не 1136, а
ERROR 1406 Data too long for column 'firstName' at row 1
|
| |
|
|
|
|
|
|
|
для: dove
(18.03.2008 в 12:29)
| | а если так?
"INSERT INTO employees VALUES (0,'".$first_name."','".$last_name."','".$user_id."','".$md5_password."','".$email."','".$session_id."',NOW())"
|
и где в вашем запросе поле lastView?? или указывайте названия полей, или заносите все | |
|
|
|
|
|
|
|
для: MIchail1982
(18.03.2008 в 12:37)
| | Так точно, внес поле lastView - это исправило ошибку 1136 ,
и как раз после этого возникла ошибка 1406 Data too long for column 'firstName' at row 1 | |
|
|
|
|
|
|
|
для: dove
(18.03.2008 в 13:27)
| | Сразу после соединения с базой данных вы осуществляете настройку кодировки при помощи запроса
<?php
@mysql_query("SET NAMES cp1251");
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(18.03.2008 в 13:38)
| | в этом случае все поля занесены в таблицу, но при запросе полей кириллические знаки заменены на знаки вопроса
mysql> show create table employees;
CREATE TABLE `employees` (
`id_emp` int(4) NOT NULL auto_increment,
`firstName` varchar(255) collate koi8r_bin default NULL,
`lastName` varchar(255) collate koi8r_bin default NULL,
`user_id` varchar(30) collate koi8r_bin default NULL,
`password` tinytext collate koi8r_bin,
`email` varchar(30) collate koi8r_bin default NULL,
`session` tinytext collate koi8r_bin,
`lastView` datetime default NULL,
PRIMARY KEY (`id_emp`)
ENGINE=InnoDB DEFAULT CHARSET=koi8r COLLATE=koi8r_bin |
|
вместо cp1251 пробовал koi8r результат тотже | |
|
|
|
|
|
|
|
для: dove
(18.03.2008 в 14:21)
| | Вы из консоли заполняете таблицу? | |
|
|
|
|
|
|
|
для: cheops
(18.03.2008 в 14:41)
| | нет, из консоли создаю таблицы
заполняю данными из html-форм средствами php | |
|
|
|