PDOStatement->bindParam
(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)
PDOStatement->bindParam —
Binds a parameter to the specified variable name
Description
bool PDOStatement::bindParam
(
mixed $parameter
,
mixed &$variable
[,
int $data_type
[,
int $length
[,
mixed $driver_options
]]] )
Most parameters are input parameters, that is, parameters that are used
in a read-only fashion to build up the query. Some drivers support the
invocation of stored procedures that return data as output parameters,
and some also as input/output parameters that both send in data and are
updated to receive it.
Parameters
-
parameter
-
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.
-
variable
-
Name of the PHP variable to bind to the SQL statement parameter.
-
data_type
-
Explicit data type for the parameter using the PDO::PARAM_*
constants.
Defaults to PHP native type.
To return an INOUT parameter from a stored procedure,
use the bitwise OR operator to set the PDO::PARAM_INPUT_OUTPUT bits
for the data_type
parameter.
-
length
-
Length of the data type. To indicate that a parameter is an OUT
parameter from a stored procedure, you must explicitly set the
length.
-
driver_options
-
Return Values
Returns TRUE on success or FALSE on failure.
Examples
Example #1 Execute a prepared statement with named placeholders
<?php
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>
Example #2 Execute a prepared statement with question mark placeholders
<?php
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>
Example #3 Call a stored procedure with an INOUT parameter
<?php
$colour = 'red';
$sth = $dbh->prepare('CALL puree_fruit(?)');
$sth->bindParam(1, $colour, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12);
$sth->execute();
print("After pureeing fruit, the colour is: $colour");
?>