![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Igor_CH |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 20.3.2005 Репутация: нет Всего: нет |
Подскажите как добавить в таблицу сразу несколько строк, т.е.: делаю 1. соединяюсь с базой 2. заполняю ячейки (их может быть сколько угодно)
3. как записать каждую ячейку в свою строку в таблице. Таблица из двух ячеек ID и FOTO. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
Где <photoX> - очередное фото. |
|||
|
||||
Igor_CH |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 20.3.2005 Репутация: нет Всего: нет |
Так записывается в одну строку в разные ячейки, а мне нужно чтоб запись была:
ID PHOTO 1 1.jpg 2 me.jpg 3 sdfsg.jpg ....... и опять таки не известно сколько будет фото. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
одну строку в разные ячейки записывают так:
Обрати внимание на количество перечисленных полей после "INTO Table" и количество скобок после "VALUES" А то, что я предложил пост назад, как раз и записывает несколько строк. Добавлено @ 17:29 когда ты будешь формировать запрос, ты ведь будешь уже точно знать количество фотографий, потому тебе ничто не помешает формировать запрос в цикле. |
|||
|
||||
Igor_CH |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 20.3.2005 Репутация: нет Всего: нет |
Вот так я делаю:
Ошибка: Operand should contain 1 column(s) INSERT INTO photo (foto_name, text) VALUES ( ('1.jpg','text1'), ('2.jpg','text2') ); |
|||
|
||||
ASteel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 24.5.2006 Где: Krasnodar, Russia Репутация: нет Всего: 1 |
А я бы сделал так:
Обрати внимание на скобки! |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
Igor_CH, а зачем после "VALUES" ты ещё одними скобками оборачиваешь вводимые данные?
Попробуй так:
|
|||
|
||||
Igor_CH |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 20.3.2005 Репутация: нет Всего: нет |
Большое спасибо!!! Все работает
![]() |
|||
|
||||
Igor_CH |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 20.3.2005 Репутация: нет Всего: нет |
Продолжение начатого, чтоб не начинать новую тему.
Подскажите как правильно сделать. Есть форма, разобьем ее на две части: 1 часть ----------------- Название <input type=text name=nazvanie> Описание <input type=text name=opisanie> Данные записываются в таблицу KAT Таблица “KAT” для этой части выглядит так: ID | NAZVANIE | OPISANIE | DATA 2 часть ---------------- Фото 1 Описание для фото 1 Фото 2 Описание для фото 2 …………………………………. Фото N Описание для фото N Данные записываются в таблицу PHOTO Таблица “PHOTO” для этой части выглядит так: ID | FOTO | TEXT | ID_KAT (id с таблицы KAT) Так вот как лучше получить (записать) ID_KAT? Получать последний auto_increment с таблицы PHOTO или записывать ID_KAT как дату с таблицы KAT. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
Не совсем понятно, что ты хочешь сделать. Хорошо, хоть структуру описал. А вообще-то, одна тема - один вопрос
|
|||
|
||||
Serkys |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 1 Всего: 22 |
Ни в коем случае! В перерывах между записью и вычерпыванием последнего авто_инкремента может быть добавлена ещё одна запись. Вычерпывай, проставляя в where название, описание (желательно все сразу).
З.Ы. Твои переменные выговаривать - пальцы сломаешь! ![]() |
||||
|
|||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
Serkys, может, мне показалось, но мне функия last_insert_id() возвращает автоинкремент вставленный именно мной(как сессией подключения). Может, показалось?
|
|||
|
||||
Serkys |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 1 Всего: 22 |
skyboy, без понятия. Я в дебри мускула не лазил.
|
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
Serkys, я тоже не лазил. Я испытания проводил. Только там лажа с этой функцией. От версии к версии она то работает стабильно, то вовсе не работает. По крайней мере, в моих руках...
![]() Потому - пользоваться ею нельзя. |
|||
|
||||
ASteel |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 24.5.2006 Где: Krasnodar, Russia Репутация: нет Всего: 1 |
Лучше всего, не использовать autoincrement а делать что-то типа:
И потом этот key использовать и в 1-ом запросе и во втором. А last_insert_id() действительно крайне нестабильна. Это сообщение отредактировал(а) ASteel - 6.6.2006, 08:28 |
||||
|
|||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |