Ben PDO kullanarak ve öncelikle güvenlik nedeniyle bütün tabloların hazırlanmasında oldum. Ancak, does farklı parametrelerle aynı deyimini birçok kez çalıştırmak ve ben hazırlanmış tablolar gerçekten parlaklık bu nerede olacağını düşündüm benim kod parçası var. Ama aslında kodu kırmak ...
Kodun temel mantık budur.
function someFunction($something) {
global $pdo;
$array = array();
static $handle = null;
if (!$handle) {
$handle = $pdo->prepare("A STATEMENT WITH :a_param");
}
$handle->bindValue(":a_param", $something);
if ($handle->execute()) {
while ($row = $handle->fetch()) {
$array[] = someFunction($row['blah']);
}
}
return $array;
}
Bana gayet iyi görünüyordu, ama bu satırların bir sürü eksik. Sonunda ben deyim tanıtıcı sonra fonksiyon tekrar kendini çağırır, while döngüsünde almak için çağrı sadece bir kere çalışacak anlamına gelir, (farklı param ile idam), ve sonuç kümesi değişti değişti edildiğini fark etti.
Yani PDO kullanarak en iyi yolu, bir özyinelemeli şekilde tablolarını ne merak ediyorum.
Tek yönlü fetchAll () kullanmak olabilir, ama önemli bir yükü vardır kılavuzda diyor. Bu bütün mesele daha verimli hale getirmektir.
Yapabileceğim başka bir şey statik bir kolu yeniden, ve yerine yenisini her zaman yapmak değildir. Ben sorgu dizesi aynı olduğundan, dahili MySQL sürücüsü zaten hazırlanmış deyimi kullanarak olacağına inanıyoruz, böylece her özyineli çağrı üzerine yeni bir kolu oluşturarak sadece küçük yük vardır. Şahsen ben o noktayı yendi düşünüyorum.
Ya da bu yeniden bir yolu var mı?