$result_c = mysql_query("SELECT id FROM users");
$i=mysql_num_rows($result_c);
$id=$i+1;
$add="INSERT INTO users VALUES($id,'$surname','$name','$patronymic')";
$insert=mysql_query($add);
if (!$insert)
{
echo 'Технические проблемы, не добавить';
}
else
{
echo "Пользователь добавлен";
}
mysql_close($link);
}
?>
В общем вот часть кода. Она работает. но не совершенно) В общем если добавлять записи через поля формы и нажимая кнопку добавить, то записи добавляются. ид возрастают. то есть 1, 2, 3, 4, 5, и т.д. но вот незадача. Если удалить запись с ид 2 например. то после этого записи не добавляются. Как сделать чтобы при добавлении новая запись заполнила свободный ид? или 2, или дальше 5. не принципиально. запутался.
Спустя 3 минуты, 2 секунды (17.02.2011 - 13:26) Lenarfate написал(а):
у поля id в базе должен стоять флаг auto_increment
Спустя 12 минут, 20 секунд (17.02.2011 - 13:38) YVSIK написал(а):
вот он и стоит этот auto_increment
и чел об это и говорит что стоит auto_increment
а новая запись так и будет возростать не обращая внимания что
запись за номером 2 уже удалена
и присвот след номер 3 и будет
так
id-1
следущий
id-3
и чел об это и говорит что стоит auto_increment
а новая запись так и будет возростать не обращая внимания что
запись за номером 2 уже удалена
и присвот след номер 3 и будет
так
id-1
следущий
id-3
Спустя 14 минут, 26 секунд (17.02.2011 - 13:53) Guest написал(а):
да, поле ид auto_increment.
записи добавляются. но после того как удалю поле с ид 2 например. то больше не добавляются. что делать? Выдают мою ошибку типа, не добавить, технические проблемы =(
записи добавляются. но после того как удалю поле с ид 2 например. то больше не добавляются. что делать? Выдают мою ошибку типа, не добавить, технические проблемы =(
Спустя 8 минут, 45 секунд (17.02.2011 - 14:02) Guest написал(а):
$selectdb=mysql_select_db($db_name);
if(!$selectdb)
{
echo "We can't select database!";
exit;
}
else
{
$add="INSERT INTO users VALUES('','$surname','$name','$patronymic')";
$insert=mysql_query($add);
if (!$insert)
{
echo 'Технические проблемы, не добавить';
}
else
{
echo "Пользователь добавлен";
}
mysql_close($link);
}
вопрос решен. просто я заного начислял ид. и получалось что толи он занят, то ли еще что. Вопрос другой теперь, чисто ради своего интереса. Какие параметры поставить у поля ид, чтобы тот при добавлении записи брал первый свободный ид? вроде читал где то такое есть, как реализовать? спасибо. Допустим добавлено 5 записей. удалены 2 и 3. и при добавлении новой запись заняла ид 2, потом ид 3, и потом далее 6, 7 и т.д.. Спасибо
Спустя 47 секунд (17.02.2011 - 14:02) Lenarfate написал(а):
блин, у тебя же запрос неверный. странно, что вообще что-то добавляет. иди в мануал и читай про insert
Спустя 1 минута, 36 секунд (17.02.2011 - 14:04) Guest написал(а):
запрос верный. ну я так считаю. у меня из формы посредством $HTTP_POST_VARS
записываются в переменные, а из них в таблицу.
записываются в переменные, а из них в таблицу.
Спустя 40 минут, 36 секунд (17.02.2011 - 14:45) Lenarfate написал(а):
запрос неверный
Спустя 10 минут, 53 секунды (17.02.2011 - 14:56) Guest написал(а):
ну покажите как правильно?
поидее все равнозначно
INSERT INTO users ('',surname,name,patronymic) VALUES ('','$surname','$name','$patronymic')";
поидее все равнозначно
Спустя 1 минута, 1 секунда (17.02.2011 - 14:57) Guest написал(а):
ой,не правильно. поправка
поидее все равнозначно
INSERT INTO users ('',surname,name,patronymic) VALUE ('','$surname','$name','$patronymic')";
поидее все равнозначно
Спустя 5 минут, 4 секунды (17.02.2011 - 15:02) Guest написал(а):
Запрос абсолютно правильный. Используя
мы создаем новую строку и заносим значения. при это на добавление у меня идет проверка на заполненность полей.
Используя если вы имеете ввиду
мы можем заносить данные в специальные колонки.
У меня же заносятся во все колонки, мне нет необходимости указывать в какую что заносить. заносится по порядку.
INSERT INTO users ('',surname,name,patronymic) VALUES ('','$surname','$name','$patronymic')";
мы создаем новую строку и заносим значения. при это на добавление у меня идет проверка на заполненность полей.
Используя если вы имеете ввиду
INSERT INTO users ('',surname,name,patronymic) VALUES ('','$surname','$name','$patronymic')";
мы можем заносить данные в специальные колонки.
У меня же заносятся во все колонки, мне нет необходимости указывать в какую что заносить. заносится по порядку.
Спустя 3 минуты, 18 секунд (17.02.2011 - 15:05) phatol написал(а):
Так. ввиду невозможности редактировать зарегистрировался.
в общем имелось ввиду:
Используя
мы создаем новую строку и заносим значения. Заполняются все поля подряд.При добавление у меня идет проверка на заполненность полей, и мне нет необходимости указывать в какие поля.
Используя код ниже, если вы имеете ввиду его
мы можем заносить данные в специальные колонки.
Еще раз: у меня же заносятся во все колонки, мне нет необходимости указывать в какую колонку что заносить. заносится подряд.
Так че там насчет мануала то?)
в общем имелось ввиду:
Используя
INSERT INTO users VALUES('','$surname','$name','$patronymic')
мы создаем новую строку и заносим значения. Заполняются все поля подряд.При добавление у меня идет проверка на заполненность полей, и мне нет необходимости указывать в какие поля.
Используя код ниже, если вы имеете ввиду его
INSERT INTO users ('',surname,name,patronymic) VALUES ('','$surname','$name','$patronymic')
мы можем заносить данные в специальные колонки.
Еще раз: у меня же заносятся во все колонки, мне нет необходимости указывать в какую колонку что заносить. заносится подряд.
Так че там насчет мануала то?)
Спустя 1 час, 42 минуты, 52 секунды (17.02.2011 - 16:48) linker написал(а):
$add = "INSERT INTO users VALUES(0,'$surname','$name','$patronymic')";и не парить себе мозг.
Спустя 18 минут, 57 секунд (17.02.2011 - 17:07) phatol написал(а):
ну можно и так. Ну скажите тогда почему я не имею право поставить '' вместо 0 ?
можно написать NULL. это тоже верно?
можно написать NULL. это тоже верно?
Спустя 55 секунд (17.02.2011 - 17:08) linker написал(а):
MySQL не дуб, он все поймет именно так как надо.
Спустя 15 секунд (17.02.2011 - 17:08) waldicom написал(а):
Цитата (phatol @ 17.02.2011 - 15:07) |
я не могу 0 записывать. у меня первое поле идет id primary key auto_increment. |
Тогда пишите туда NULL (без кавычек)
Спустя 5 минут, 33 секунды (17.02.2011 - 17:13) phatol написал(а):
спасибо. сообразил уже)