Intereting Posts
Изображение, созданное с помощью blob, содержит только числа и запятые PHP-файл, который должен запускаться один раз и удалять себя. Является ли это возможным? CakePHP: как использовать элемент вида внутри контроллера CodeIgniter + API Карт Google V3 + закрыть InfoWindow () PHP – установка времени ожидания_файла_файла_файла Вставка арабских данных в базу данных mysql рисование «хороших» графиков в php Ошибка анализа XML: нежелательная информация после элемента документа в Twilio Где 2x префикс используется в BCrypt? Используйте разные исполняемые файлы CLI версии PHP для одной команды Laravel с использованием UNION в построителе запросов Скремблирование данных с данными POST в PHP из ASP.net Как определить, действительно ли файл загружен и сохранен, несмотря на предварительную выборку / кеш браузера? Имена файлов UTF8 в PHP и различные кодировки Unicode передача массива POST в php-функцию

Метод PDO

Где и когда вы используете метод котировки в PDO? Я спрашиваю об этом в свете того факта, что в PDO все цитирование выполняется объектом PDO, поэтому пользовательский ввод не должен быть экранирован / процитирован и т. Д. Это заставляет задуматься, почему беспокоиться о методе цитаты, если он не будет использоваться в подготовленном заявлении?

Хотя это не может быть единственным прецедентом, это единственный, для которого мне нужна quote . Вы можете передавать только значения, используя PDO_Stmt::execute , поэтому, например, этот запрос не будет работать:

 SELECT * FROM tbl WHERE :field = :value 

quote приходит, чтобы вы могли сделать это:

 // Example: filter by a specific column $columns = array("name", "location"); $column = isset($columns[$_GET["col"]]) ? $columns[$_GET["col"]] : $defaultCol; $stmt = $pdo->prepare("SELECT * FROM tbl WHERE " . $pdo->quote($column) . " = :value"); $stmt->execute(array(":value" => $value)); $stmt = $pdo->prepare("SELECT * FROM tbl ORDER BY " . $pdo->quote($column) . " ASC"); 

и по-прежнему ожидать, что $column будет безопасно отфильтрован в запросе.

При использовании Подготовленных заявлений с PDO::prepare() и PDOStatement::execute() вас нет каких-либо цитат : это будет сделано автоматически.

Но иногда вы не будете (или не можете) использовать подготовленные инструкции и должны будете писать полные SQL-запросы и выполнять их с помощью PDO::exec() ; в этих случаях вам нужно убедиться, что строки указаны правильно – это когда метод PDO::quote() полезен.

Немного поздно, но одна ситуация, когда это полезно, если вы получаете нагрузку данных из своей таблицы, которую вы собираетесь вернуть позже.

например, у меня есть функция, которая получает нагрузку текста из таблицы и записывает ее в файл. этот текст позже может быть вставлен в другую таблицу. метод quote () делает все кавычки безопасными.

это очень легко:

 $safeTextToFile = $DBH->quote($textFromDataBase);