РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
238 of 258 menu

Метод fetchAllAssociative

Метод fetchAllAssociative принадлежит классу Connection и выполняет SQL-запрос, возвращая все строки результата в виде массива, где каждая строка - это ассоциативный массив с именами колонок в качестве ключей. Метод удобен, когда нужно получить сразу весь набор данных, например для вывода списка статей. Первым параметром передаётся SQL-запрос, вторым - массив значений для подстановки в плейсхолдеры.

Синтаксис

public function fetchAllAssociative(string $sql, array $params = []): array

Пример

Давайте выполним простой запрос и получим все строки таблицы:

<?php use Doctrine\DBAL\DriverManager; $connection = DriverManager::getConnection([ 'driver' => 'pdo_mysql', 'host' => 'localhost', 'dbname' => 'test', 'user' => 'root', 'password' => '', ]); $sql = 'SELECT id, title FROM article'; $res = $connection->fetchAllAssociative($sql); print_r($res); ?>

Результат выполнения кода:

[ ['id' => 1, 'title' => 'article 1'], ['id' => 2, 'title' => 'article 2'], ['id' => 3, 'title' => 'article 3'], ]

Пример

Давайте передадим параметр в запрос через плейсхолдер:

<?php use Doctrine\DBAL\DriverManager; $connection = DriverManager::getConnection([ 'driver' => 'pdo_mysql', 'host' => 'localhost', 'dbname' => 'test', 'user' => 'root', 'password' => '', ]); $sql = 'SELECT id, title FROM article WHERE title = ?'; $res = $connection->fetchAllAssociative($sql, ['article']); print_r($res); ?>

Результат выполнения кода:

<+php+> [ ['id' => 1, 'title' => 'article'], ] <-php+>

Пример

Давайте используем именованные плейсхолдеры:

<?php use Doctrine\DBAL\DriverManager; $connection = DriverManager::getConnection([ 'driver' => 'pdo_mysql', 'host' => 'localhost', 'dbname' => 'test', 'user' => 'root', 'password' => '', ]); $sql = 'SELECT id, title FROM article WHERE id > :id'; $res = $connection->fetchAllAssociative($sql, ['id' => 1]); print_r($res); ?>

Результат выполнения кода:

[ ['id' => 2, 'title' => 'article 2'], ['id' => 3, 'title' => 'article 3'], ]

Смотрите также

  • класс Connection,
    который управляет соединением с базой данных
  • метод fetchAssociative,
    который возвращает одну строку результата
  • метод fetchOne,
    который возвращает значение одной колонки
  • метод iterateAssociative,
    который возвращает итератор по строкам результата
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить