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

Метод quote класса Connection

Метод quote класса Connection принимает строку и возвращает её экранированную версию, пригодную для безопасной подстановки в SQL-запрос. Первым параметром передаётся значение, которое нужно экранировать. Вторым необязательным параметром можно указать тип данных (например, ParameterType::STRING или ParameterType::INTEGER). Метод полезен, когда нужно вручную собрать SQL-строку без использования подготовленных выражений.

Синтаксис

public function quote(string $value, int $type = ParameterType::STRING): string

Пример

Давайте экранируем простое строковое значение:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use DoctrineDBALConnection; class ArticleController extends AbstractController { public function index(Connection $connection): Response { $value = "O'Reilly"; $quoted = $connection->quote($value); return new Response($quoted); } } ?>

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

'O\'Reilly'

Пример

Давайте экранируем значение и подставим его в SQL-запрос:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use DoctrineDBALConnection; class ArticleController extends AbstractController { public function index(Connection $connection): Response { $name = 'abcde'; $quoted = $connection->quote($name); $sql = "SELECT * FROM article WHERE name = " . $quoted; return new Response($sql); } } ?>

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

SELECT * FROM article WHERE name = 'abcde'

Пример

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

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use DoctrineDBALConnection; use DoctrineDBALParameterType; class ArticleController extends AbstractController { public function index(Connection $connection): Response { $id = 5; $quoted = $connection->quote($id, ParameterType::INTEGER); return new Response($quoted); } } ?>

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

5

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

  • класс Connection,
    который представляет соединение с базой данных
  • метод executeQuery,
    который выполняет SELECT-запрос и возвращает результат
  • метод executeStatement,
    который выполняет INSERT, UPDATE или DELETE
  • метод lastInsertId,
    который возвращает ID последней вставленной записи
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить