(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 1.0.0)
PDOStatement::bindValue — Связывает параметр с заданным значением
Задаёт значение именованной или неименованной псевдопеременной в подготовленном SQL-запросе.
param
Идентификатор параметра запроса. Для подготавливаемых запросов с именованными параметрами это будет имя в виде :name. Если используются неименованные параметры (знаки вопроса ?) это будет позиция псевдопеременной в запросе (начиная с 1).
value
Значение, которое требуется привязать к параметру.
type
Явно заданный тип данных параметра. Тип задаётся одной из
констант PDO::PARAM_*
.
Функция возвращает true
, если выполнилась успешно, или false
, если возникла ошибка.
Метод выдаёт ошибку уровня E_WARNING
, если для атрибута PDO::ATTR_ERRMODE
установили режим PDO::ERRMODE_WARNING
.
Метод выбрасывает исключение PDOException, если для атрибута PDO::ATTR_ERRMODE
установили режим PDO::ERRMODE_EXCEPTION
.
Пример #1 Выполнение подготовленного запроса с именованными псевдопеременными
<?php
/* Выполнение запроса с привязкой PHP-переменных */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');
/* Устанавливает значение параметра, используя его имя */
$sth->bindValue('calories', $calories, PDO::PARAM_INT);
/* По желанию, в именах параметров можно также ставить двоеточие ":" */
$sth->bindValue(':colour', $colour, PDO::PARAM_STR);
$sth->execute();
?>
Пример #2 Выполнение подготовленного запроса с неименованными псевдопеременными (?)
<?php
/* Выполнение запроса с привязкой PHP-переменных */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->bindValue(1, $calories, PDO::PARAM_INT);
$sth->bindValue(2, $colour, PDO::PARAM_STR);
$sth->execute();
?>