Nie. To powoduje straszny bałagan w twoich danych.
TAk. Możesz chronić swój kod przed wstrzyknięciami SQL.
Oto krótkie wyjaśnienie, które już zrobiłem
Tylko muszę dodać, że nie powinieneś psuć swoich źródłowych tablic danych.
Tablica POST nie ma nic wspólnego z SQL. Dane mogą trafić do wiadomości e-mail, formularza HTML, pliku, usługi online itp. Po co traktować to wszystko z ochroną SQL?
Z drugiej strony możesz pobrać swoje dane nie z POST, ale z pliku, online usługa, inne zapytanie.
Więc musisz chronić nie tablice źródłowe, ale rzeczywiste dane, które trafiają do zapytania
Mówiąc o XSS, znowu nie ma prostej uniwersalnej reguły.
Ale ogólnie rzecz biorąc, musisz użyć htmlspecialchars($data,ENT_QUOTES);
dla wszystkich niezaufanych danych, które wyprowadzasz jako tekst, oraz kilka innych rodzajów walidacji w niektórych szczególnych przypadkach, takich jak nazwy plików