(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDOStatement::bindColumn — Vincula una columna a una variable PHP
$column
,&$var
,$type
= PDO::PARAM_STR,$maxLength
= 0,$driverOptions
= null
PDOStatement::bindColumn() permite que una variable PHP se vincule a una columna específica en el conjunto de resultados de una consulta. Cada llamada a la función PDOStatement::fetch() o PDOStatement::fetchAll() actualiza todas las variables vinculadas a las columnas.
Nota:
Dado que la información sobre las columnas no siempre está disponible para PDO hasta que la consulta se ejecuta, las aplicaciones portables deben llamar a esta función después de la función PDOStatement::execute().
Sin embargo, para vincular una columna de tipo LOB con un flujo al utilizar el controlador PostGreSQL, las aplicaciones deben llamar a este método antes de llamar PDOStatement::execute(), de lo contrario se recibirá el objeto OID en forma de entero.
column
Número de la columna (comenzando en 1) o nombre de la columna en el conjunto de resultados. Si se utilizan los nombres de columnas, asegúrese de que el nombre coincida con la casilla de la columna, como se devuelve por el controlador.
var
Nombre de la variable PHP a la que se debe vincular la columna.
type
Tipo del argumento, especificado por las constantes
PDO::PARAM_*
.
maxLength
Una sugerencia para la preasignación.
driverOptions
Argumentos opcionales para la biblioteca.
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
.
Ejemplo #1 Vincula la visualización del conjunto de resultados a variables PHP
Vincular las columnas del conjunto de resultados a variables PHP es una forma conveniente de hacer que los datos contenidos en cada fila estén inmediatamente disponibles para la aplicación. El siguiente ejemplo muestra cómo PDO permite vincular y recuperar las columnas con una variedad de opciones.
<?php
$stmt = $dbh->prepare('SELECT name, colour, calories FROM fruit');
$stmt->execute();
/* Vincula por los números de columnas */
$stmt->bindColumn(1, $name);
$stmt->bindColumn(2, $colour);
/* Vincula por los nombres de columnas */
$stmt->bindColumn('calories', $cals);
while ($stmt->fetch(PDO::FETCH_BOUND)) {
print $name . "\t" . $colour . "\t" . $cals . "\n";
}
readData($dbh);
?>
Resultado del ejemplo anterior es similar a :
pomme rouge 150 banane jaune 175 kiwi vert 75 orange orange 150 mangue rouge 200 fraise rouge 25