Методы PDOStatement::fetch и PDOStatement::fetchAll при работе с базами данных отличаются тем, что первый извлекает следующую строку из результирующего набора, а второй возвращает массив, содержащий все строки результирующего набора. 23
Метод fetch() позволяет получать данные из набора результатов построчно, последовательно перебирая строки. 1 При использовании этого метода объект PDOStatement выполняет роль курсора — указателя на набор данных, хранящихся в памяти в базе. 1
Метод fetchAll() позволяет получить сразу все оставшиеся строки из набора результатов в виде массива. 1 Метод может принимать параметр — константу, который определяет, как будут представлены данные. 1
Таким образом, fetch() возвращает одну запись в виде одномерного массива, а fetchAll() — все записи в виде многомерного массива. 5