SQL injection — внедрение злого SQL через пользовательский ввод. OWASP Top 10 #1.
Пример
WHERE name='$name' — пользователь вводит admin' OR '1'='1 — пускает как админ.
Единственное правильное: Prepared Statements
PDO: $st->prepare(...); $st->execute([$name]).
Что НЕ делать
String concatenation, mysql_real_escape — устарели.
ORM
Eloquent, Doctrine — авто prepared.
WAF
Cloudflare WAF — второй слой.