PDOStatement::bindColumn
(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDOStatement::bindColumn — Vincula uma coluna a uma variável PHP
Descrição
string|int
$column
,mixed
&$var
,int
$type
= PDO::PARAM_STR,int
$maxLength
= 0,mixed
$driverOptions
= null
): bool
PDOStatement::bindColumn() faz com que uma variável em particular seja vinculada a uma coluna informada, no conjunto de resultados de uma consulta. Cada chamada a PDOStatement::fetch() ou PDOStatement::fetchAll() irá atualizar todas as variáveis que estejam vinculadas a colunas.
Note:
Como as informações sobre a coluna não estão sempre disponíveis ao PDO até que a instrução seja executada, aplicações portáteis devem chamar esta função após PDOStatement::execute().
Entretanto, para que seja possível vincular uma coluna LOB como um fluxo ao usar o driver PgSQL, aplicações devem chamar este método antes de chamada a PDOStatement::execute(), caso contrário o OID de objeto grande será retornado como um inteiro.
Parâmetros
column
-
Número da coluna (índices iniciando em 1) ou nome da coluna no conjunto de resultados. Se o nome da coluna estiver sendo usado, o nome deve ter as maiúsculas/minúsculas correspondentes à coluna, como retornada pelo driver.
var
-
Nome da variável PHP à qual a coluna será vinculada.
type
-
Tipo de dado do parâmetro, especificado pelas constantes
PDO::PARAM_*
. maxLength
-
Um dica para pré-alocação.
driverOptions
-
Um ou mais parâmetros opcionais para o driver.
Erros/Exceções
Emite um erro de nível E_WARNING
se o atributo PDO::ATTR_ERRMODE
estiver definido
como PDO::ERRMODE_WARNING
.
Lança uma exceção PDOException se o atributo PDO::ATTR_ERRMODE
estiver definido como PDO::ERRMODE_EXCEPTION
.
Exemplos
Example #1 Vinculando a saída do conjunto de resultados a variáveis PHP
Vincular colunas no conjunto de resultados a variáveis PHP é uma maneira eficaz de fazer com que os dados contidos em cada linha estejam imediatamente disponíveis para a aplicação. O exemplo a seguir demonstra como o PDO permite que se vincule e se recupere colunas com uma variedade de opções e com padrões inteligentes.
<?php
$stmt = $dbh->prepare('SELECT name, colour, calories FROM fruit');
$stmt->execute();
/* Vincula por número da coluna */
$stmt->bindColumn(1, $name);
$stmt->bindColumn(2, $colour);
/* Vincula por nome da coluna */
$stmt->bindColumn('calories', $cals);
while ($stmt->fetch(PDO::FETCH_BOUND)) {
print $name . "\t" . $colour . "\t" . $cals . "\n";
}
O exemplo acima produzirá algo semelhante a:
apple red 150 banana yellow 175 kiwi green 75 orange orange 150 mango red 200 strawberry red 25
Veja Também
- PDOStatement::execute() - Executa ums instrução preparada
- PDOStatement::fetch() - Busca a próxima linha de um resultado
- PDOStatement::fetchAll() - Busca as linhas remanescentes de um conjunto de resultados
- PDOStatement::fetchColumn() - Retorna uma única coluna do próximo registro de um resultado