Bugüne kadar en iyi yolu kullanmaktır prepared statements. Siz PDO veya mysqli kullanarak bunu yapabilirsiniz, ama ben onun adını parametreleri için PDO uzantısı tercih ederim.
Neden çok iyi şekilde tarafından ifadeleri hazırlanır? Onlar alıntı ve sizin için kaçan parametre ilgileneceğim çünkü.
Bad, old, error-prone, tedious way:
$result = mysql_query("SELECT * FROM users WHERE
password='".mysql_real_escape_string($password)."'");
Eğer böyle bir uygulama yazdım, sen kullanıcı girişi kaçmak için bir noktada unutulmuş, ve kocaman bir SQL enjeksiyonu delik bırakmış olacak bahse girebilirsiniz.
Nice prepared statement way:
$stmt = $dbh->prepare("SELECT * FROM users WHERE password=:password");
$stmt->bindParam(':password', $password);
$stmt->execute();
Kaçmak için yapılır, ve hatta onları ihtiyaç parametre türleri tırnak koyarak endişelenmenize gerek yok.