PDOStatement::bindColumn — Vincular una columna a una variable PHP (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
bool PDOStatement::bindColumn ( mixto $columna , mixto &$param [, int $tipo [, int $maxlen [, mixto $driverdata ]]] )
Organiza que una variable específica se vincule a una columna determinada en un conjunto de resultados de una consulta. Cada llamada a PDOStatement::fetch() o PDOStatement::fetchAll() actualizará todas las variables vinculadas a la columna.
Nota: La información de PDO sobre las columnas no siempre está disponible antes de la ejecución de la declaración. Las aplicaciones portátiles deben llamar a esta función (método) después de PDOStatement::execute(). Sin embargo, cuando se utiliza el controlador PgSQL, para poder vincular una columna LOB como una secuencia, la aplicación debe llamar a este método antes de llamar a PDOStatement::execute(); de lo contrario, el OID del objeto grande se devuelve como un número entero.
Número de columna (indexado a partir de 1) o nombre de columna en el conjunto de resultados de la columna . Si utiliza nombres de columnas, tenga en cuenta que los nombres deben ser coherentes con el caso de los nombres de columnas devueltos por el controlador.
param El nombre de la variable PHP que se vinculará a la columna.
tipoEl tipo de datos del parámetro especificado por las constantes PDO::PARAM_*.
sugerencia de preasignación de maxlen .
Parámetro opcional del controlador driverdata .
Devuelve VERDADERO en caso de éxito o FALSO en caso de error.
Vincular columnas en un conjunto de resultados a variables PHP es una forma eficiente de hacer que los datos contenidos en cada fila estén disponibles inmediatamente en su aplicación. El siguiente ejemplo demuestra cómo PDO vincula y recupera columnas con varias opciones y valores predeterminados.
<?phpfunction readData($dbh) { $sql = 'SELECCIONAR nombre, color, calorías DE la fruta'; intente { $stmt = $dbh->prepare($sql); Enlace de números*/ $stmt->bindColumn(1, $nombre); $stmt->bindColumn(2, $color /*); Enlace por nombre de columna*/ $stmt->bindColumn('calorías', $cals); while ($row = $stmt->fetch(PDO::FETCH_BOUND)) { $data = $name . color "t" . $cals . "n"; imprimir $datos } } catch (PDOException $e) { imprimir $e->getMessage(); }}leerDatos($dbh);?>
La rutina anterior generará:
rojo manzana 150amarillo plátano 175verde kiwi 75naranja naranja 150rojo mango 200rojo fresa 25