SQL Injection istifadəçinin daxil etdiyi məlumatların SQL sorğusuna təhlükəli şəkildə birləşdirilməsi nəticəsində yaranan zəiflikdir.
Yanlış kod:
$email = $_POST['email'];
$sql = "SELECT * FROM users WHERE email = '$email'";
$result = $pdo->query($sql);
Düzgün kod:
$email = $_POST['email'];
$stmt = $pdo->prepare(
"SELECT * FROM users WHERE email = :email"
);
$stmt->execute([
'email' => $email
]);
$user = $stmt->fetch();
Prepared Statements istifadəçinin daxil etdiyi məlumatı SQL kodundan ayırır və SQL Injection riskini azaldır.