Zaštita od SQL injection napada je različita za različite programske jezike. U PHP-u mogu preporučiti upotrebu PDO pristupa uz tzv. strongly typed parametrizirane upite u bazu (postižu se upotrebom metode bindParam()).
Također, za početnike je dobro navesti što trebaju izbjegavati:
$unsafe_variable = $_POST['user_input'];
mysql_query("INSERT INTO tbl (col) VALUES ('" . $unsafe_variable . "')");
Jer ako bi netko dodao u varijablu user_input sljedeće...
value'); DROP TABLE table;--
...konačni SQL bi izgledao ovako:
INSERT INTO tbl (col) VALUES('`**`value'); DROP TABLE tbl;--`**`')
A to je ono što se zove SQL injection tj. napad hakera i to ne želimo! Niti tvrtke žele zapošljavati PHP developere koji ne paze na ovo.