prepare & query
Merhabalar ürün detay sayfam için normalde
$query = $db->prepare("SELECT * FROM urun where sef=:sef LIMIT 1");
$urun = $query->execute(array(":sef"=>$_GET['sef']));
$urun = $query->fetch(PDO::FETCH_ASSOC);
Bunu kullanıyordum ama bu aralar daha kısa olması için
$urun = $db->query("SELECT * FROM urun WHERE sef ='{$_GET['sef']}' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
if(!$urun){
header("Location:../404");
}
Bunu kullanmaya başladım arasında ki fark nedir prepare daha güvenli deniliyor nedeni nedir vs bilgi verebilirmisiniz
Merak ettiğimden test etmek istedim, toplam 1279 kayıt olan bir tabloda sonuçlar aşağıdaki gibi çıktı. Tabiki @abdullahx dediği ölümcül bir uyarı, "Eğer bir sql sorgusunda kullanıcıdan gelen bir değişken kullanacaksanız prepare ile, siz kendiniz arka planda kullanıcının müdahalesi olmadan bir sql sorgusu yazacaksanız query ile yazın."
Aradaki fark : 3,8 kat
Sorgu Süresi : 0.00263 Saniye
$Query = $SQLConnect -> GetSQL() -> prepare("SELECT * FROM payment_payment WHERE Payment_Status = ?");
$Query -> execute([1]);
$Query = $Query -> fetchAll();
Sorgu Süresi : 0.00067 Saniye
$Query = $SQLConnect -> GetSQL() -> query("SELECT * FROM payment_payment WHERE Payment_Status = 1") -> fetchAll();