не надо экономить в этом случае на количестве запросов...
Misha v.3 23.08.2003 13:33
...взамен понятности структуры БД.
в данном случае логика может быть следующей:
1. загружаешь данные формы
2. добавляешь запись в БД [один INSERT или UPDATE при изменении]
3. достаешь last_insert_id только что добавленой записи (или id редактируемой) [второй запрос]
4. сохраняешь картинку с именем, в которое входит эта last_insert_id (или id при апдейте) [третий запрос]
5. если хочешь хранить имя этой картинки в БД - делаешь еще UPDATE (например, чтобы не париться потом с тем, что одна картинка gif, а другая - png) [четвертый запрос]
все будет понятно и логично.
не забывайте, что для web-а эта задача очень редкая (добавлять/апдейтить/загружать/ будут на два порядка реже, чем смотреть) и это количество запросов окупится понятностью структуры.
да, вот еще что... не в количестве запросов беды... беды в их качестве. когда можно то-же самое сделать меньшим количеством запросов - хорошо, но когда это делается меньшим количеством запросов, которые выполняются из-за своей сложности дольше в 2 раза даже после их оптимизации и прикручивания индексов - это ужасно.