Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > PDOStatement::fetchAll


Автор: RinatR 4.12.2010, 22:04
Недавно у php появилась новая библиотека для работы с базами данных PDO.

У этой библиотеки если интересная штукенца, позволяющая получать данные в массиве от запроса сразу, без использования цикла. 
Более того, можно указать callback функцию. 
Код

$sql = "SELECT * FROM `categories` LIMIT 0, 100";
$result->query($sql);
 $result->fetchAll(PDO::FETCH_FUNC, "categoriesAll");    


Все круто, очень удобно, НО! Результаты выполнения идут как аргументы функции, что существенно осложняет работу в моем случае. Возможно ли как то получить результаты в виде одного аргумента с ассоциативным массивом, без лишнего кода?

Автор: skyboy 4.12.2010, 22:13
Цитата(RinatR @  4.12.2010,  21:04 Найти цитируемый пост)
Возможно ли как то получить результаты в виде одного аргумента с ассоциативным массивом

не уверен, что я правильно понял вопрос. может, http://php.net/func_get_args ?

Автор: RinatR 4.12.2010, 22:19
Не поняли, совсем не поняли :( 
func_get_args - это сейчас.

Код

function categoriesAll()
{
$row = func_get_args();
$row['icon'] = (!empty($row[2])) ? $row[2] : 'none.png';
$row['sum_files'] = ($row[4] != '') ? $row[4] : 0; 
...
}           


А хотелось бы:

Код

function categoriesAll($row)
{
$row['icon'] = (!empty($row['icon'])) ? $row['icon'] : 'none.png';
$row['sum_files'] = ($row['sum_files'] != '') ? $row['sum_files'] : 0; 
...
}    




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)