mysqli_stmt::bind_result

mysqli_stmt_bind_result

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::bind_result -- mysqli_stmt_bind_resultLiga variáveis a uma declaração preparada para armazenamento de resultado

Descrição

Estilo orientado a objetos

public mysqli_stmt::bind_result(mixed &$var, mixed &...$vars): bool

Estilo procedural

mysqli_stmt_bind_result(mysqli_stmt $statement, mixed &$var, mixed &...$vars): bool

Liga colunas no conjunto de resultados a variáveis.

Quando mysqli_stmt_fetch() é chamada para obter dados, o protocolo cliente/servidor MySQL coloca os dados das colunas ligadas nas variáveis expecificadas var/vars.

Uma coluna pode ser ligada ou religada a qualquer tempo, mesmo depois que um conjunto de resultados tenha sido parcialmente recebido. A nova ligação tem efeito na próxima vez que mysqli_stmt_fetch() for chamada.

Note:

Todas as colunas precisam ser ligadas depois da chamada a mysqli_stmt_execute() e antes da chamada a mysqli_stmt_fetch().

Note:

Dependendo dos tipos das colunas, variáveis ligadas podem silenciosamente ser alteradas para O tipo PHP correspondente.

Tip

Esta função é útil para resultados simples. Para receber conjuntos de resultados iteráveis, ou obter cada linha como um array ou objeto, use a função mysqli_stmt_get_result().

Parâmetros

statement

Somente no estilo procedural: Um objeto mysqli_stmt retornado por mysqli_stmt_init().

var

A primeira variável a ser ligada.

vars

Mais variáveis a serem ligadas.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Example #1 Estilo orientado a objetos

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* prepara a declaração */
$stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5");
$stmt->execute();

/* liga as variáveis à declaração preparada */
$stmt->bind_result($col1, $col2);

/* obtém os valores */
while ($stmt->fetch()) {
    printf("%s %s\n", $col1, $col2);
}

Example #2 Estilo procedural

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* prepara a declaração */
$stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5");
mysqli_stmt_execute($stmt);

/* liga as variáveis à declaração preparada */
mysqli_stmt_bind_result($stmt, $col1, $col2);

/* obtém os valores */
while (mysqli_stmt_fetch($stmt)) {
    printf("%s %s\n", $col1, $col2);
}

Os exemplos acima produzirão algo semelhante a:

AFG Afghanistan
ALB Albania
DZA Algeria
ASM American Samoa
AND Andorra

Veja Também