Resumo : neste tutorial, você aprenderá como usar o fetchColumn()
método para obter uma única coluna da próxima linha de um conjunto de resultados.
Introdução ao método fetchColumn()
Às vezes, você deseja obter o valor de uma única coluna da próxima linha de um conjunto de resultados. Neste caso, você pode usar o fetchColumn()
método do objeto PDOStatement.
public PDOStatement::fetchColumn(int $column = 0): mixed
Linguagem de código: PHP ( php )
O fetchColumn()
método aceita um índice de coluna que você deseja recuperar.
O índice da primeira coluna é zero. O índice da segunda coluna é um e assim por diante. Por padrão, o fetchColumn()
método retorna o valor da primeira linha do conjunto de resultados se você não passar explicitamente um índice de coluna.
O fetchColumn()
método retorna o valor da coluna especificada pelo $column
índice. Se o conjunto de resultados não tiver mais linhas, o método retornará false
.
Por causa disso, você não deve usar fetchColumn()
para recuperar valores das colunas booleanas. O motivo é que você não conseguirá saber se false
vem da coluna selecionada ou se não há mais linhas.
Um exemplo do método fetchColumn()
O exemplo a seguir usa o fetchColumn()
método para obter o nome do editor com id 1:
<?php
$pdo = require 'connect.php';
$sql = 'SELECT name
FROM publishers
WHERE publisher_id = :publisher_id';
$statement = $pdo->prepare($sql);
$statement->execute(
['publisher_id' => 1]
);
$publisher_name = $pdo->fetchColumn();
echo $publisher_name;
Linguagem de código: PHP ( php )
Como funciona.
- Primeiro, conecte-se ao
bookdb
banco de dados usando oconnect.php
script. - Em seguida, construa uma instrução SQL SELECT para selecionar um editor por ID.
- Em seguida, prepare a instrução para execução chamando o método prepare() do objeto PDO.
- Depois disso, execute a instrução passando o ID do editor para 1.
- Por fim, obtenha o nome do editor da linha selecionada usando o
fetchColumn()
método e exiba-o.
Se a publishers
tabela não tiver um editor com id 1, $publisher_name
será false
. E você não verá nada na saída.
Na prática, você usará o fetchColumn()
para procurar um valor baseado em um id único. Por exemplo, você pode usar o fetchColumn()
método para verificar se já existe um email na users
tabela:
SELECT id FROM users WHERE email := email;
Linguagem de código: PHP ( php )
Se o resultado for false
, significa que o e-mail não existe.
Resumo
- Use
fetchColumn()
o método doPDOStatement
objeto para obter o valor de uma coluna da próxima linha no conjunto de resultados.