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

Метод fetchAssociative

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

Синтаксис

public function fetchAssociative(string $query, array $params = [], array $types = []): array|false

Пример

Давайте получим одну статью из базы данных по её идентификатору:

<?php namespace App\Controller; use Doctrine\DBAL\Connection; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_show')] public function show(Connection $connection): Response { $sql = 'SELECT id, title, text FROM article WHERE id = ?'; $res = $connection->fetchAssociative($sql, [1]); return new Response('<pre>' . print_r($res, true) . '</pre>'); } } ?>

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

[ 'id' => 1, 'title' => 'article', 'text' => 'abcde' ]

Пример

Давайте проверим, что возвращает метод, если строка не найдена:

<?php namespace App\Controller; use Doctrine\DBAL\Connection; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article/missing', name: 'article_missing')] public function missing(Connection $connection): Response { $sql = 'SELECT id, title, text FROM article WHERE id = ?'; $res = $connection->fetchAssociative($sql, [999]); return new Response('<pre>' . var_export($res, true) . '</pre>'); } } ?>

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

false

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

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