За последние 24 часа нас посетили 17590 программистов и 1716 роботов. Сейчас ищут 1869 программистов ...

Добавление данных с формы в несколько таблиц.

Тема в разделе "PHP для новичков", создана пользователем AlexandrS, 7 июл 2018.

  1. AlexandrS

    AlexandrS Активный пользователь

    С нами с:
    30 сен 2017
    Сообщения:
    659
    Симпатии:
    103
    Адрес:
    Краснодар
    Как я понимаю концепция реляционных БД заключается в том, что данные разнесены по разным таблицам связаны по ключам (если не прав, поправьте).
    Соответственно, когда я добавляю какие, то данные из формы, какая та часть может уйдет в одну таблицу, другая в другую.
    Если я правильно понимаю, то для записи данных в каждую таблицу нужно формировать свой запрос. Т.е. у меня с HTML формы приходят данные в обработчик PHP и тут как бы возникает сам вопрос, как должен выглядеть этот обработчик, он должен обрабатывать данные транзакцией, для сохранения целостности всех данных или путем добавления такого вида:

    PHP:
    1. $query="INSERT INTO secretariat_data_docs_tbl(NomDoc,AddressPer,AddressPr,Date)
    2. VALUES ('$NomDoc','$AddressPer','$AddressPr',NOW())";
    3. mysql_query($query) or die(mysql_error());
    4. $query="INSERT INTO person_storage_tbl(NomDoc,Otdel,FIO,Phone,DatePr)
    5. VALUES ('$NomDoc','$Otdel','$FIO',NOW())";
    6. mysql_query($query) or die(mysql_error());
    7. $query="INSERT INTO secretariat_storage_tbl(NomDoc,OtvEmp,FIO,TypeDoc,DatePr)
    8. VALUES ('$NomDoc','$OtvEmp','$FIO1',,'$TypeDoc',NOW())";
    9. mysql_query($query) or die(mysql_error());
    10. echo "Документ внесен в БАЗУ ДАННЫХ!";
    Я больше склоняюсь к транзакциям, т.к. важна целостность данных, но может я в чем то не прав, а может вообще не прав.
    Подскажите, как правильно?
    Благодарю!
     
  2. Danil005

    Danil005 Активный пользователь

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Во-первых переходи на mysqli или PDO, так как mysql - устарел и не безопасен уже.
    Во-вторых, если и делать запросы к базе данных, то нужно создавать "подготовленные запросы": MySQLi или PDO
    В-третьих, если эти документы важные, то желательно все вносить не в базу данных, а хранить на машине или хостинге, ввести учет при помощи текстовых баз данных (json данные или другие возможные.)
    В- четвертых, помимо проверки на клиенте, делай проверку на сервере.
     
    AlexandrS нравится это.
  3. AlexandrS

    AlexandrS Активный пользователь

    С нами с:
    30 сен 2017
    Сообщения:
    659
    Симпатии:
    103
    Адрес:
    Краснодар
    По поводу PDO и mysqli знаю, сам об этом говорю когда вижу использование mysql, поэтому тут мой косяк в том. что я привел плохой пример кода, а уж тем более не обратил внимание, что там суть в документах, что увело обсуждение в другое русло.
    На данный момент разобрался со своим вопросам посмотрев вот это видео:
    Так что вопрос уже не актуален.