Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy jest to bezpieczna metoda wstawiania danych formularza do bazy danych MySQL?

Podany przez Ciebie przykład wstawia post vars do bazy danych bez uprzedniej analizy ich pod kątem złych danych wejściowych użytkownika. Użyj rzutowania typów, funkcji ucieczki/filtrowania, przygotowanych instrukcji itp. przed użyciem ich do interakcji z bazą danych.

Ogólną zasadą, którą należy się kierować, jest nigdy nie ufać wprowadzaniu użytkownika. KIEDYKOLWIEK!

Sprawdź:Najlepszy sposób na zatrzymanie wstrzykiwania SQL w PHP

W odpowiedzi na Twoje pytanie, oto jak obsłużyć cały formularz za pomocą przygotowanych oświadczeń PDO.

$stmt = $db->prepare('INSERT INTO Persons (FirstName, LastName, Age) VALUES (:first_name, :last_name, :age)');

$stmt->execute(array(':first_name' => $first_name,':last_name' => $last_name, ':age' => $age));

Jeśli chcesz wstawić tylko jedną kolumnę do rekordu, jak prosiłeś, składnia będzie wyglądać tak:

$stmt = $db->prepare('INSERT INTO Persons (FirstName) VALUES (:first_name)');

$stmt->execute(':first_name', $first_name);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie MySQL do wyszukiwania wielu atrybutów i identyfikatora wartości

  2. Jak zoptymalizować wydajność MySQL za pomocą MySQLTuner

  3. Konwersja daty MySQL do formatu Java

  4. Jak usunąć wiodące i końcowe znaki w MySQL?

  5. Obsługa wyjątków kluczy obcych w PHP