Задать вопрос
@T_verdisla_V
Начинающий

Почему не находит индекс?

Здравствуйте.
Подскажите почему при использовании mysqli функция отрабатывает нормально вот код:
function getAllMainCatsWithChildren() {
    global $db;
    $rs = $db -> query("SELECT * 
            FROM categories
            WHERE parent_id = 0"); 
    $smartyRs = array();
    while ($row = $rs -> fetch_assoc())
    {
        $rsChildren = getChildrenForCat($row['id']);
        if($rsChildren){
            $row['children'] = $rsChildren;
        }
        $smartyRs[] = $row;
    }
    return $smartyRs;

а при переходе на PDO выдает ошибку "Notice: Undefined index: id". Код с PDO:
function getAllMainCatsWithChildren() {
    global $pdo;
    try {
        $rs = $pdo -> query('SELECT * 
            FROM categories
            WHERE parent_id = 0'); 
    $smartyRs = array();
    while ($row = $rs -> fetchAll())
    {
        var_dump($row);
        $rsChildren = getChildrenForCat($row['id']);
        if($rsChildren){
            $row['children'] = $rsChildren;
        }
        $smartyRs[] = $row;
        }
    return $smartyRs;
    } catch (Exception $e) {
        exit($e->getMessage());
    }   
}

Подключение к базе через PDO есть, var_dump выдает данные из таблицы согласно запроса.
  • Вопрос задан
  • 201 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 1
AloneCoder
@AloneCoder
[object Object]
while ($row = $rs -> fetch(PDO::FETCH_ASSOC))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@ukoHka
Всего понемногу
fetchAll() обрабатывает весь результат, а не построчно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы