SORU
15 Ocak 2011, CUMARTESİ


PDO'In sorgu vs yürütmek

Her ikisi de aynı şey, sadece farklı mı?

Arasında prepare kullanma dışında herhangi bir fark yoktur

$query = "SELECT * FROM table";
$sth = $db->query($query);
$result = $sth->fetchAll();

ve

$sth = $db->prepare("SELECT * FROM table");
$sth->execute();
$result = $sth->fetchAll();

?

CEVAP
15 Ocak 2011, CUMARTESİ


query standart SQL deyimini çalıştırır ve düzgün tüm verileri SQL Enjeksiyon ve diğer sorunları önlemek için kaçmayı gerektirir.

execute parametre veya parametreleri kaçış alıntı kaçınmak gerekiyor bağlamak için olanak sağlayan bir hazır deyimi çalıştırır. execute Ayrıca eğer sorgu birden çok kez tekrar etmen daha iyi yapacak. Hazır deyimler örnek:

$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories);
$sth->bindParam(':colour', $colour);
$sth->execute();
// $calories or $color do not need to be escaped or quoted since the
//    data is separated from the query

En iyi uygulama hazırlanan ifadeleri ile sopa ve 10 ** Daha fazla güvenlik için.

Ayrıca bakınız: Are PDO prepared statements sufficient to prevent SQL injection?

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EEVblog

    EEVblog

    4 NİSAN 2009
  • FailArmy U

    FailArmy U

    29 AĞUSTOS 2009
  • whiteboy7thst

    whiteboy7ths

    1 Temmuz 2009