mysqli_stmt::fetch
mysqli_stmt_fetch
(PHP 5, PHP 7, PHP 8)
mysqli_stmt::fetch -- mysqli_stmt_fetch — Recebe resultados de uma instrução preparada nas variáveis vinculadas
Descrição
Estilo orientado a objetos
Estilo procedural
Recebe o resultado de uma instrução preparada nas variáveis vinculadas por mysqli_stmt_bind_result().
Note:
Observe que todas as colunas precisam estar vinculadas pela aplicação antes de chamar a função mysqli_stmt_fetch().
Note:
Os dados são transferidos sem buffer quando não se chama a função mysqli_stmt_store_result(), o que pode reduzir o desempenho (mas reduz o consumo de memória).
Parâmetros
-
statement
Somente no estilo procedural: Um objeto mysqli_stmt retornado por mysqli_stmt_init().
Valor Retornado
Valor | Descrição |
---|---|
true |
Sucesso. Dados foram recebidos |
false |
Error occurred |
null |
Não há mais linhas/dados ou ocorreu um truncamento de dados |
Erros/Exceções
Se o relatório de erros da extensão mysqli estiver habilitado (MYSQLI_REPORT_ERROR
) e a operação solicitada falhar,
um aviso será gerado. Se, além disso, o modo for definido como MYSQLI_REPORT_STRICT
,
uma exceção mysqli_sql_exception será lançada em vez do aviso.
Exemplos
Example #1 Estilo orientado a objetos
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* verifica a conexão */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";
if ($stmt = $mysqli->prepare($query)) {
/* executa a instrução */
$stmt->execute();
/* vincula as variáveis do resultado */
$stmt->bind_result($name, $code);
/* recebe os valores */
while ($stmt->fetch()) {
printf ("%s (%s)\n", $name, $code);
}
/* fecha a instrução */
$stmt->close();
}
/* fecha a conexão */
$mysqli->close();
?>
Example #2 Estilo procedural
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* verifica a conexão */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";
if ($stmt = mysqli_prepare($link, $query)) {
/* executa a instrução */
mysqli_stmt_execute($stmt);
/* vincula as variáveis do resultado */
mysqli_stmt_bind_result($stmt, $name, $code);
/* recebe os valores */
while (mysqli_stmt_fetch($stmt)) {
printf ("%s (%s)\n", $name, $code);
}
/* fecha a instrução */
mysqli_stmt_close($stmt);
}
/* fecha a conexão */
mysqli_close($link);
?>
Os exemplos acima produzirão:
Rockford (USA) Tallahassee (USA) Salinas (USA) Santa Clarita (USA) Springfield (USA)
Veja Também
- mysqli_prepare() - Prepara uma instrução SQL para execução
- mysqli_stmt_errno() - Retorna o código de erro para a chamada de instrução mais recente
- mysqli_stmt_error() - Retorna uma descrição em string para o último erro de instrução
- mysqli_stmt_bind_result() - Liga variáveis a uma declaração preparada para armazenamento de resultado