Wpis z mikrobloga

tworzę interfejs do sqlowej bazy danych w php, z możliwością edycji danych w tabeli z poziomu php (poprzez formularz) i chcę sprawdzać poprawność kluczy głównych, tak aby nie można było wpisać danych, których nie ma w tabeli, z której biorę dane(plus jakiś komunikat w stylu "Nie ma takiej osoby w bazie"), jak mogę to zrobić? stworzyć jakieś ograniczenie do głównej tabeli?
#sql #php #bazydanych #programowanie #polibuda
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Drmscape2: ok, dzięki. a jak zrobić w tym php żeby wyświetlało odpowiedni komunikat gdy ktoś próbuje wpisać błędne dane? np. załóżmy że mam tabelę "samochody" która ma klucz obcy "id_kierowcy" w postaci klucza głównego tabeli "kierowcy", jeśli ktoś w formularzu wpisze dane kierowcy którego nie ma w bazie to chcę żeby wyświetlał się komunikat na stronie że nie ma kogoś takiego w bazie. domyślam się że ifem/switchem, ale co dać
  • Odpowiedz
@yungdupa: Nie znam PHP. Ogólnie sprawdzenie integralności danych zostawiasz po stronie bazy, a w aplikacji (w twoim przypadku pisanej w PHP) robisz przechwycenie tego błędu z wyświetleniem komunikatu do użytkownika.
Baza w przypadku takiego błędu zwróci coś takiego:
The INSERT statement conflicted with the FOREIGN KEY constraint "fk_samochody".
Na podstawie tego w aplikacji robisz przejrzyste info zwrotne dla użytkownika, żeby nie dostał w ryj bezpośrednio takim erorrem z bazy.
  • Odpowiedz
@croppz: napisać bazę danych dla wypożyczalni samochodowej (każdy samochód ma kierowcę) i interfejs w PHP dla tabeli z samochodami z możliwością dodawania, kasowania i edycji wierszy w tabeli poprzez formularz, zadbać o zabezpieczenie poprawności wpisywania kluczy głównych
  • Odpowiedz
@yungdupa: no to instaluj symfony i w parę godzin się uwiniesz z całością. Postgresa obsługuje, jest w php, wszystkie wymagania spełnione. ¯\_(ツ)_/¯

A jeżeli obok słowa "interfejs" nie ma słowa "graficzny", to weź do tego jeszcze api platform i wszystko będzie w godzinę gotowe. xD

  • Odpowiedz