Это зависит от того, что вы хотите сделать с результатом.
Фактические структуры данных, которые вы получаете, либо очень отличаются , но вы, вероятно, задаете вопрос, потому что с обоими вы можете просмотреть результат с помощью foreach
.
Но fetchAll()
возвращает чистый массив PHP, где query
возвращает объект PHP со скрытыми внутренними объектами. Например, вы можете вызвать json_encode.
Обычно непосредственное зацикливание на PDOStatement может быть немного быстрее, поскольку вы не создаете (потенциально большой) промежуточный массив.