PDOStatement::bindParam

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::bindParam Vincula un parámetro al nombre de variable especificado

Descripción

public PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] ) : bool

Vincula una variable de PHP a un parámetro de sustitución con nombre o de signo de interrogación correspondiente de la sentencia SQL que fue usada para preparar la sentencia. A diferencia de PDOStatement::bindValue(), la variable es vinculada como una referencia y solamente será evaluada en el momento en el que se llame a PDOStatement::execute().

Muchos parámetros son de entrada, es decir, que son usados en un modo de sólo lectura para construir la consulta. Algunos controladores admiten la invocación de procedimientos almacenados que devuelven datos como parámetros de salida, y algunos también como parámetros de entrada/salida, donde se envían datos y son actualizados al recibirlos.

Parámetros

parameter

El identificador del parámetro. Para sentencias preparadas que usen parámetros de sustición con nombre, esto será un nombre de parámetro con la forma :nombre. Para sentencias preparadas que usen parámetros de sustición de signos de interrogación, esto será la posición índice-1 del parámetro.

variable

Nombre de la variable de PHP a vincular al parámetro de la sentencia SQL.

data_type

El tipo de datos explícito para el parámetro, usando las constantes PDO::PARAM_*. Para devolver un parámetro INOUT desde un procedimiento almacenado, se ha de usar el operador OR a nivel de bits para establecer los bits de PDO::PARAM_INPUT_OUTPUT para el parámetro data_type.

length

La longitud del tipo de datos. Para indicar que el parámetro es un parámetro OUT de un procedimiento almacenado, se debe establecer explícitamente la longitud.

driver_options

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejecutar una sentencia preparada con parámetros de sustitución con nombre

<?php
/* Ejecutar una sentencia preparada vinculando varialbes de PHP */
$calorías 150;
$color 'red';
$gsent $gbd->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour'
);
$gsent->bindParam(':calories'$caloríasPDO::PARAM_INT);
$gsent->bindParam(':colour'$colorPDO::PARAM_STR12);
$gsent->execute();
?>

Ejemplo #2 Ejecutar una sentencia preparada con parámetros de sustitución de signos de interrogación

<?php
/* Ejecutar una sentencia preparada vinculando varialbes de PHP */
$calorías 150;
$color 'red';
$gsent $gbd->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?'
);
$gsent->bindParam(1$caloríasPDO::PARAM_INT);
$gsent->bindParam(2$colorPDO::PARAM_STR12);
$gsent->execute();
?>

Ejemplo #3 Llamar a un procedimiento almacenado con un parámetro INOUT

<?php
/* Llamar a un procedimiento almacenado con un parámetro INOUT */
$color 'red';
$gsent $gbd->prepare('CALL puree_fruit(?)');
$gsent->bindParam(1$colorPDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT12);
$gsent->execute();
print(
"Después de hacer puré la fruta, el color es: $color");
?>

Ver también