Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление в таблицу сразу не сколько строк. 
:(
    Опции темы
Igor_CH
Дата 6.6.2006, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 288
Регистрация: 20.3.2005

Репутация: нет
Всего: нет



[QUOTE=Serkys,5.6.2006,  22:25]
Цитата(Igor_CH @  5.6.2006,  19:36 Найти цитируемый пост)

З.Ы. Твои переменные выговаривать - пальцы сломаешь! smile


Согласен, поменял названия.

Структура должна быть такой: я вношу данные:
Общее название   - в таблицу PHOTO_KAT 
Общее описание   - в таблицу PHOTO_KAT
Фото 1 - описание к фото 1  - в таблицу PHOTO
Фото 2 - описание к фото 2  - в таблицу PHOTO
...................
Фото N - описание к фото N  - в таблицу PHOTO

а потом уже буду делать выборку из двух таблиц.

вот такой код получился при записи данных:

Код

$sql_insert = "INSERT INTO photo_kat (name, text, data) VALUES  (".sql_quote($name).",".sql_quote($text).",".sql_quote($data).");";
$result = mysql_query($sql_insert,$con) or die (mysql_error()."<br>".$sql_insert);

$id_foto = mysql_insert_id();

$sql_insert = "INSERT INTO photo (foto_name, text, id_foto) VALUES  (".sql_quote($foto_name_1).",".sql_quote($text_1).", ".sql_quote($id_foto)."), (".sql_quote($foto_name_2).",".sql_quote($text_2).", ".sql_quote($id_foto).");";
$result = mysql_query($sql_insert,$con) or die (mysql_error()."<br>".$sql_insert);


Т.е. загружаю в первую таблицу "PHOTO_KAT" значения NAME, TEXT, DATA
Получаю auto_increment этой таблицы, и записываю его уже в следующую таблицу как id_foto.

Правильно ли сделал? Или все таки auto_increment не использовать?
 
PM MAIL   Вверх
skyboy
Дата 6.6.2006, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



Igor_CH, тут - как в анеке: работает? тогда, ради Бога, ничего не трогай smile Так работает?
 smile  касательно last_insert_id() - у меня MySQL 5.0.x. Так вот, в пределах ХП эта функция ни разу не сбоила. А вот за пределами, просто 
в запросе, то работает, то возвращает "0". Я к тому, что не всё так плохо.
 
PM MAIL   Вверх
-=Ustas=-
Дата 7.6.2006, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 17
Всего: 69



В твоем случае:
Код

$last_id = mysql_insert_id($con);

Ни разу не замечал сбоев. 


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Igor_CH
Дата 16.6.2006, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 288
Регистрация: 20.3.2005

Репутация: нет
Всего: нет



У меня тут вопрорс возник, а если будет сбой на сервере, например:
в первую таблицу данные занеслись 
сбой
во вторую ничего не попало

Как тут быть? 
PM MAIL   Вверх
-=Ustas=-
Дата 16.6.2006, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 17
Всего: 69



Тогда уже mysql_insert_id не прокатит, так он работает только на текущей сессии. Вариант только так:
Код

SELECT MAX(`id`) FROM `table`
 


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Igor_CH
Дата 16.6.2006, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 288
Регистрация: 20.3.2005

Репутация: нет
Всего: нет



так, а как от сбоя предохраниться? 
Если произошел сбой - то запись не произошла. 
PM MAIL   Вверх
vasac
Дата 16.6.2006, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 3
Всего: 36



Igor_CH, транзакциями предохраняться 
PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0708 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.