(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 1.0.0)
PDOStatement::bindValue — Binds a value to a parameter
Binds a value to a corresponding named or question mark placeholder in the SQL statement that was used to prepare the statement.
param
Parameter identifier. For a prepared statement using named placeholders, this will be a parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the 1-indexed position of the parameter.
value
The value to bind to the parameter.
type
Explicit data type for the parameter using the PDO::PARAM_*
constants.
Returns true
on success or false
on failure.
Emits an error with level E_WARNING
if the attribute PDO::ATTR_ERRMODE
is set
to PDO::ERRMODE_WARNING
.
Throws a PDOException if the attribute PDO::ATTR_ERRMODE
is set to PDO::ERRMODE_EXCEPTION
.
Example #1 Execute a prepared statement with named placeholders
<?php
/* Execute a prepared statement by binding PHP variables */
$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);
/* Names can be prefixed with colons ":" too (optional) */
$sth->bindValue(':colour', $colour, PDO::PARAM_STR);
$sth->execute();
?>
Example #2 Execute a prepared statement with question mark placeholders
<?php
/* Execute a prepared statement by binding PHP variables */
$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();
?>