У меня есть форма, которая принимает как данные пользователя, так и изображение, загруженное ими. Я хочу записать данные в таблицу пользователя и таблицу изображений, но я уверен, что это невозможно сделать только с двумя отдельными операторами insert. Любая помощь приветствуется.
Сначала вам нужно вставить пользователя, затем выполните «SELECT LAST_INSERT_ID ()», чтобы получить идентификатор пользователя. Затем вы можете вставить изображение в таблицу изображений с вновь созданным идентификатором пользователя. В PHP вы можете фактически использовать mysql_insert_id () для получения нового идентификатора. Если вы используете mysql с InnoDB, вы также можете обернуть вставки в транзакции , выпустив BEGIN, а затем INSERT, а затем COMMIT, если все будет успешно добавлено, или ROLLBACK в случае сбоя.
Почему вы уверены, что это невозможно? Ты это пробовал? Вы вставляете в таблицу пользователя, а затем вставляете в таблицу изображений … никаких проблем вообще.
Единственное предупреждение будет заключаться в том, что вы должны обернуть вставки в транзакции, чтобы они действовали как единая вставка и успешно выполняли / сбой.
$rec = mysql_query("insert into userdet values("$id","$username",....)"); if($rec) mysql_query("insert into imag values("$id","$imgname",...)");