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

Метод executeStatement

Метод executeStatement класса Connection используется для выполнения SQL-запросов, которые не возвращают результат в виде набора строк. Обычно это запросы INSERT, UPDATE или DELETE. Первым параметром передаётся SQL-строка, вторым - массив параметров для подстановки в запрос. Метод возвращает количество затронутых строк.

Синтаксис

executeStatement(string $sql, array $params = [], array $types = []): int

Пример

Давайте вставим новую запись в таблицу article:

<?php namespace App\Controller; use Doctrine\DBAL\Connection; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; class ArticleController extends AbstractController { public function index(Connection $connection): Response { $sql = 'INSERT INTO article (title, content) VALUES (?, ?)'; $count = $connection->executeStatement($sql, ['article', 'text']); return new Response('Inserted rows: ' . $count); } } ?>

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

"Inserted rows: 1"

Пример

Давайте обновим запись с идентификатором 1:

<?php namespace App\Controller; use Doctrine\DBAL\Connection; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; class ArticleController extends AbstractController { public function index(Connection $connection): Response { $sql = 'UPDATE article SET title = ? WHERE id = ?'; $count = $connection->executeStatement($sql, ['abcde', 1]); return new Response('Updated rows: ' . $count); } } ?>

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

"Updated rows: 1"

Пример

Давайте удалим запись с идентификатором 2:

<?php namespace App\Controller; use Doctrine\DBAL\Connection; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; class ArticleController extends AbstractController { public function index(Connection $connection): Response { $sql = 'DELETE FROM article WHERE id = ?'; $count = $connection->executeStatement($sql, [2]); return new Response('Deleted rows: ' . $count); } } ?>

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

"Deleted rows: 1"

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

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