sql >> Databáze >  >> RDS >> Mysql

Je to bezpečná metoda pro vkládání dat formuláře do databáze MySQL?

Příklad, který jste uvedli, vloží proměnné příspěvku do databáze, aniž by je nejprve analyzoval na vstup od zlého uživatele. Než je použijete k interakci s DB, použijte přetypování, funkce escapování/filtrování, připravené příkazy atd.

Obecným pravidlem je nikdy nedůvěřovat uživatelskému vstupu. NIKDY!

Podívejte se na:Nejlepší způsob, jak zastavit SQL Injection v PHP

V odpovědi na vaši otázku uvádíme, jak byste zacházeli s celým formulářem pomocí příkazů připravených pro 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));

Pokud chcete do záznamu vložit pouze jeden sloupec, jak jste požadovali, syntaxe by byla:

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

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


  1. Jak získat záznamy, které obsahují alfanumerické znaky + mezery

  2. Vkládání dat z frontendu do mysql db v angularjs

  3. Jak změnit sloupec a změnit výchozí hodnotu?

  4. Jak funguje last_insert_rowid() v SQLite