[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Duplicate entry '1' for key 2
maZa
Помогите решить проблему...
SQL
CREATE TABLE `users` (
`id` int( 8 ) unsigned NOT NULL AUTO_INCREMENT ,
`login` varchar( 50 ) NOT NULL default '',
PRIMARY KEY ( `id` ) ,
UNIQUE KEY `login` ( `login` )
) TYPE = MYISAM AUTO_INCREMENT =2

Вот код отправки в базу с php :
PHP
if (isset($_POST['reg']))
     {
       
$regis = (isset($_POST['reg']));
       
       
$query "INSERT INTO `users` SET `login` = '{$regis}'";
       
$sql mysql_query($query) or die(mysql_error());
       
mysql_close($conn);
       
       print 
'Регистрация прошла успешно' ;
   }

При повторной регистрации пишет :
SQL
Duplicate entry '1' for key 2

... И в базе (к примеру ввожу Логин Буквами .. показует цыфрой... вообщем зарегистрироваться моно 1 раз, и показует логин не Словом которым я вводил, а цыфрой "1"... В чем проблема, как её решить... Подскажите... Если можно то по сути, а не ссылку на учебник...




Спустя 11 минут, 34 секунды (8.10.2009 - 21:32) sergeiss написал(а):
$regis = (isset($_POST['reg'])); - вот проблема.
isset($_POST['reg']) возвращает true, если такая величина была передана, и
true при вставке в строку преобразуется в 1. Поэтому ты каждый раз пытаешься вставить 1 в логин. О чем тебе и говорится smile.gif

Спустя 4 минуты, 7 секунд (8.10.2009 - 21:36) maZa написал(а):
Спасибо... Помогло...Убрал isset =)

Спустя 1 минута, 3 секунды (8.10.2009 - 21:37) SunSet написал(а):
PHP
$regis = (isset($_POST['reg']));
чтото меня эта строка смущает..
Попробуй измени запрос на такой:
$res = mysql_query ("INSERT INTO `users` SET `login` = 'admin'") or die(mysql_error());

Спустя 49 секунд (8.10.2009 - 21:38) SunSet написал(а):
Какие вы шустрые.. smile.gif

Спустя 1 минута, 49 секунд (8.10.2009 - 21:40) sergeiss написал(а):
SunSet - вообще-то, я дал этот ответ за 5 минут до твоего...

Пункт II.6 Правил форума гласит "Если Вы знаете ответ на поставленный вопрос, убедитесь, что аналогичный ответ не был опубликован ранее." wink.gif

Спустя 7 минут, 46 секунд (8.10.2009 - 21:48) SunSet написал(а):
sergeiss
Ок. буду знать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.