Как избежать возможного конфликта, связывающего данные, отправляемые формой, в базу данных MySQL с уникальным идентификатором автоинкремента?

Я на самом деле не знаю много о PHP и JQuery. Я программист-самоучка, в последнее время я сосредоточился на веб-программировании с использованием PHP на стороне сервера и JavaScript на стороне клиента.

AJAX — это относительно новая концепция для меня, я просто делаю первые тесты.

Я объясню свою проблему, конечно, что я хочу, это должно быть тривиально для многих.

У меня довольно длинная форма, в ней есть флажки, текстовые поля, текстовые поля и выделения, далее я хочу добавить загрузочный плагин для ввода файлов к моей форме.

Проблема в том, что я хочу отправить все данные вместе, и я не могу отправить фотографии до и после отправки данных или отправить данные, а затем отправить фотографии.

Причина этого заключается в том, что моя база данных является реляционной, и мне нужно связать данные и изображения с одним и тем же идентификатором, который должен быть сгенерирован автоматически, в поле автоинкремента.

Представьте, что у меня есть таблица с именем data и другая таблица с именем data_ref_pictures
И в моей форме есть только эти поля имя, пол и возраст:

data(id, name, gender, age)
data_ref_pictures(id_data, picture_path)

Я очень обеспокоен, потому что я думаю, что моя система однопользовательская / однопользовательская 🙁

Представьте, что есть 100 пользователей в разных местах, и все они одновременно используют форму, предположим, что теперь форма уже заполнена и фотографии тоже выбраны (еще ничего не отправляя), форма готова к отправке, и все 100 пользователей одновременно нажимают кнопку отправки.

Как узнать идентификационный номер данных, чтобы система не допускала ошибок и не смешивала данные и фотографии пользователей.

Проблема в том, что я не знаю, чтобы связать все данные и изображения, отправленные пользователем, с уникальным идентификатором автоинкремента.

Спасибо за прочтение!

1

Решение

Вы можете использовать функцию LAST_INSERT_ID (): http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id

Результат функции основан на последней вставке, выполненной активным соединением, поэтому у вас не должно быть конфликтов при вставке ваших данных.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]