I PDO bir veritabanı soyutlama kütüphane işlevi içinde query
ben yaptım kullanıyorum.
I , which if you have a lot of results, is supposed to get memory intensive, so I want to provide an argument to toggle between a fetchAll associative array and a pdo result set that can be iterated over with foreach
fetchAll()
kullanarak ve daha az bellek (her nasılsa) gerektirir ediyorum.
Ben bu konuda işitme hatırlıyorum, ve ben PDO dokümanlar arandı, ama bunu yapmak için herhangi bir yararlı bir yol bulamadı.
Does anyone know how to get an iterable resultset back from PDO instead of just a flat array? And am I right that using an iterable resultset will be easier on memory?
Bu durumda önemli olmadığını, Postgresql kullanıyorum.
.
.
.
The current query function is as follows, just for clarity.
/**
* Running bound queries on the database.
*
* Use: query('select all from players limit :count', array('count'=>10));
* Or: query('select all from players limit :count', array('count'=>array(10, PDO::PARAM_INT)));
**/
function query($sql_query, $bindings=array()){
DatabaseConnection::getInstance();
$statement = DatabaseConnection::$pdo->prepare($sql_query);
foreach($bindings as $binding => $value){
if(is_array($value)){
$statement->bindParam($binding, $value[0], $value[1]);
} else {
$statement->bindValue($binding, $value);
}
}
$statement->execute();
// TODO: Return an iterable resultset here, and allow switching between array and iterable resultset.
return $statement->fetchAll(PDO::FETCH_ASSOC);
}