Liga variáveis a uma declaração preparada para armazenamento de resultado

# mysqli_stmt::bind_result

# mysqli_stmt_bind_result

(PHP 5, PHP 7, PHP 8)

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

### Descrição

Estilo orientado a objetos

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

Estilo procedural

function 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.

> Nota:

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

> Nota:

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

Dica

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

Exemplo #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);
    }

Exemplo #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

- mysqli_stmt_get_result() - Obtém um resultado de uma instrução preparada como um objeto mysqli_result
- mysqli_stmt_bind_param() - Liga variáveis a uma declaração preparada como parâmetros
- mysqli_stmt_execute() - Executa uma instrução preparada
- mysqli_stmt_fetch() - Recebe resultados de uma instrução preparada nas variáveis vinculadas
- mysqli_prepare() - Prepara uma instrução SQL para execução
- mysqli_stmt_prepare() - Prepara uma declaração SQL para execução

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open