PDO::prepare

PHP PDO 参考手册Справочное руководство по PHP PDO

PDO::prepare — Подготавливает SQL-запрос к выполнению и возвращает объект PDOStatement (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)


Описание

Синтаксис

public PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )

Подготавливает SQL-запрос к выполнению методом PDOStatement::execute(). SQL-запрос может содержать ноль или более именованных (:name) или вопросительных знаков (?) маркеров параметров. Параметры будут заменены при выполнении запроса.

Нельзя смешивать именованные (:name) и вопросительные (?) маркеры параметров в одном SQL-запросе; необходимо выбрать один стиль.

Параметры в подготовленном SQL-запросе будут заменены фактическими значениями при вызове метода PDOStatement::execute().


Parameters

инструкция
Корректный SQL-запрос.

driver_options
Этот массив содержит одну или несколько пар ключ=>значение для установки атрибутов объекта PDOStatement. Чаще всего используется для установки значения PDO::ATTR_CURSOR в PDO::CURSOR_SCROLL, чтобы запросить прокручиваемый курсор.


Возвращаемые значения

В случае успеха PDO::prepare() возвращает объект PDOStatement. В случае неудачи возвращает FALSE или выбрасывает PDOException.


Примеры

Подготовьте SQL-запрос с использованием именованных (:name) параметров

Пример

<?php /*Передача значений в подготовленный запрос с использованием массива*/ $sql = 'SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour'; $sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY)); $sth->execute(array(':calories' => 150, ':colour' => 'red')); $red = $sth->fetchAll(); $sth->execute(array(':calories' => 175, ':colour' => 'yellow')); $yellow = $sth->fetchAll(); ?>

Подготовьте SQL-запрос, используя параметры в виде вопросительных знаков (?)

Пример

<?php /*Передача значений в подготовленный запрос с помощью массива*/ $sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND colour = ?'); $sth->execute(array(150, 'red')); $red = $sth->fetchAll(); $sth->execute(array(175, 'yellow')); $yellow = $sth->fetchAll(); ?>

PHP PDO 参考手册Справочное руководство по PHP PDO

Другие расширения