PDOStatement::bindParam

(no version information, might be only in CVS)

PDOStatement::bindParam --  Binds a parameter to a the specified variable name

Description

bool PDOStatement::bindParam ( mixed parameter_name, mixed &variable [, int data_type [, int length]])

Warning

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Binds an SQL statement parameter to the specified variable name. The SQL statement parameter can either be a named placeholder or a question mark placeholder.

Output parameters will set the value of the bound PHP variable to the value returned by the database when the SQL statement is executed. This enables you to call stored procedures with output or input/output parameters, for example, for databases that support such features.

For input-only variables, you can pass an array of input values to PDOStatement::execute() instead.

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();
?>