Documentación offline PHP master

PDOStatement::bindParam

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

PDOStatement::bindParam

Vincula un parámetro a una variable específica

Descripción#

public PDOStatement::bindParam(string $param, mixed $var, [int $type], [int $maxLength], [mixed $driverOptions]): bool
```php

Vincula una variable PHP a un marcador nombrado o interrogativo correspondiente en una consulta SQL utilizada para preparar la consulta. A diferencia de PDOStatement::bindValue, la variable es vinculada como referencia y solo será evaluada en el momento de la llamada a la función PDOStatement::execute.

La mayoría de los parámetros son parámetros de entrada, y son utilizados en modo solo lectura para construir la consulta (aunque pueden ser convertidos según el `data_type`). Algunos drivers soportan la invocación de procedimientos almacenados que retornan datos como parámetros de salida, y algunos otros como parámetros de entrada/salida que son enviados juntos y actualizados para recibirlos.

## Parámetros

`param`  
Identificador. Para una consulta preparada utilizando marcadores nombrados, será el nombre del parámetro en la forma `:name`. Para una consulta preparada utilizando marcadores interrogativos, será la posición indexada +1 del parámetro.

`var`  
Nombre de la variable PHP a vincular al parámetro de la consulta SQL.

`type`  
Tipo explícito de datos para el parámetro utilizando las constantes [`PDO::PARAM_*`](#pdo.constants). Para retornar un parámetro INOUT desde un procedimiento almacenado, se utiliza el operador OR para definir el byte `PDO::PARAM_INPUT_OUTPUT` para el parámetro `type`.

`maxLength`  
Longitud del tipo de datos. Para indicar que un parámetro es un parámetro OUT desde un procedimiento almacenado, se debe definir explícitamente la longitud. Significativo únicamente cuando el parámetro `type` es `PDO::PARAM_INPUT_OUTPUT`.

`driverOptions`  

## Valores devueltos

Esta función retorna `true` en caso de éxito o `false` si ocurre un error.

## Errores/Excepciones

Emite un error de nivel `E_WARNING` si el atributo `PDO::ATTR_ERRMODE` está definido a `PDO::ERRMODE_WARNING`.

Lanza una excepción `PDOException` si el atributo `PDO::ATTR_ERRMODE` está definido a `PDO::ERRMODE_EXCEPTION`.

## Ejemplos

Ejecución de una consulta preparada con emplazamientos nombrados
prepare('SELECT nom, couleur, calories FROM fruit WHERE calories < :calories AND couleur = :couleur'); $sth->bindParam('calories', $calories, PDO::PARAM_INT); /* Los nombres también pueden ser prefijados con dos puntos ":" (opcional) */ $sth->bindParam(':couleur', $couleur, PDO::PARAM_STR); $sth->execute(); ?>
Ejecución de una consulta preparada con marcadores de posicionamiento
prepare('SELECT nom, couleur, calories FROM fruit WHERE calories < ? AND couleur = ?'); $sth->bindParam(1, $calories, PDO::PARAM_INT); $sth->bindParam(2, $couleur, PDO::PARAM_STR); $sth->execute(); ?>
Llamada a un procedimiento almacenado con un parámetro INOUT
prepare('CALL puree_fruit(?)'); $sth->bindParam(1, $couleur, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12); $sth->execute(); print "Después de haber prensado la fruta, el color es: $couleur"; ?>

```php

Véase también#

PDO::prepare, PDOStatement::execute, PDOStatement::bindValue