Запись в БД

Статус
Закрыто для дальнейших ответов.

aspirin

Well-Known Member
Регистрация
23.04.2011
Сообщения
127
Не получается элементарное.. Есть 4 столбца(id,login,password,email) в базе данных users. Мне надо, что бы следующая созданная запись была с id на единицу больше предыдущего. Я создал специально первый рядок с id 0. Вот скрипт:

Код:
$link = mysql_connect("localhost", "root", "290889") or die("Не получилось подключиться к серверу MySQL, ошибка: ". mysql_error());
mysql_select_db("test",$link) or die("Не могу присоедениться к базе данных test".mysql_error());
$query = "select id from users";
$result = mysql_query($query,$link);
$i = mysql_result($result);
$i= $i+1;
$query = "insert into users values($i, $user, $password, $email)";
mysql_query($query,$link);			
mysql_close($link);
Что не так? Подскажите пожалуйста.
 

BaNru

Пацифизжу
Команда форума
Регистрация
13.11.2010
Сообщения
4 138
Зайти через PhpMyAdmin и поставить AUTO_INCREMENT у id
 

lekzd

parse error: parse error, unexpected T_STRING...
Регистрация
17.02.2011
Сообщения
1 125
Зайти через PhpMyAdmin и поставить AUTO_INCREMENT у id
"У моего сына аппендицит! - возьмите скальпель и отрежьте его!"
А как же создать для поля ключ PRIMARY
И во ибежание ошибки ничего в него не писать?
 

aspirin

Well-Known Member
Регистрация
23.04.2011
Сообщения
127
2BaNruСпасибо за ответ, а есть способ решения данной задачи средствами PHP?
2lekzdНе совсем Вас понял.
P.S. Я использую HeidySQL для роботы с базой данных.
 

BaNru

Пацифизжу
Команда форума
Регистрация
13.11.2010
Сообщения
4 138
Это делается при создание таблицы.
http://phpclub.ru/mysql/doc/example-auto-increment.html
Как сделать после средствами PHP - я не знаю. Но раз PMA знает и делает, значит как то можно.
Поиск в зубы и вперед.

Не совсем Вас понял.
По выше предложенной ссылке все написано. Надо так же присвоеть значение примари, и не писать, БД сама будет писать порядковый номер.

А вот как именно под HeidySQL - ХЗ. Ищите маны по ней.

lekzd - именно так и написал, как под спойлером :biggrin:
 

loki1918

Active Member
Регистрация
17.05.2011
Сообщения
28
При создании БД поле id нужно было сделать превичным ключом с автоинкрементом. После этого можно вообще не заморачиваться со значениями этого поля.
Занести значение в БД можно будет очень просто:
Код:
$user="name";
$password="123";
$email="name@mail.ru";
$query = "insert into users values($i, $user, $password, $email)";
Здесь переменная $i вообще может быть неопределена до этого места! БД сама возьмет последнее значение поля id, увеличит его на единицу и внесет данные в базу!
P.S. Код ключевого поля:
Код:
id int(6) NOT NULL auto_increment,
...
Остальные поля
...
PRIMARY KEY  (id)
Удачи!
 
Статус
Закрыто для дальнейших ответов.
Верх Низ