PDOSTATEMENT.BINDPARAM(3) 1 PDOSTATEMENT.BINDPARAM(3)
PDOStatement::bindParam - Binds a parameter to the specified variable name
SYNOPSIS
public bool PDOStatement::bindParam (mixed $parameter, mixed &$variable, [int $data_type = PDO::PARAM_STR], [int $length], [mixed
$driver_options])
DESCRIPTION
Binds a PHP variable to a corresponding named or question mark placeholder in the SQL statement that was used to prepare the statement.
Unlike PDOStatement.bindValue(3), the variable is bound as a reference and will only be evaluated at the time that PDOStatement.execute(3)
is called.
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
o $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.
o $variable
- Name of the PHP variable to bind to the SQL statement parameter.
o $data_type
- Explicit data type for the parameter using the PDO::PARAM_* constants. 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.
o $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.
o $driver_options
-
RETURN VALUES
Returns TRUE on success or FALSE on failure.
EXAMPLES
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->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
/* 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->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
/* Call a stored procedure with an INOUT parameter */
$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");
?>
SEE ALSO
PDO.prepare(3), PDOStatement.execute(3), PDOStatement.bindValue(3).
PHP Documentation Group PDOSTATEMENT.BINDPARAM(3)