(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 = nullPDOStatement::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 PgSQL, las aplicaciones deben llamar a este método antes de llamar PDOStatement::execute(), de lo contrario se recibirá el objeto OID en forma de un entero.
columnNú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 las mayúsculas y minúsculas de la columna, como se devuelve por el controlador.
varNombre de la variable PHP a la que se debe vincular la columna.
type
Tipo de datos del parámetro, especificado por las
constantes PDO::PARAM_*.
maxLengthUna sugerencia para la preasignación.
driverOptionsParámetro(s) opcional(es) para el controlador.
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 y con valores predeterminados inteligentes.
<?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";
}Resultado del ejemplo anterior es similar a:
apple red 150 banana yellow 175 kiwi green 75 orange orange 150 mango red 200 strawberry red 25