English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico PHP

Tutorial avançado PHP

PHP & MySQL

Manual de referência PHP

Uso e exemplo da função PHP mysqli_stmt_bind_result()

PHP MySQLi Referência Manual

A função mysqli_stmt_bind_result() vincula variáveis a declarações preparadas para armazenar resultados

Definição e uso

mysqli_stmt_bind_result()A função é usada para vincular as colunas do conjunto de resultados a variáveis. Após vincular as variáveis, você precisa chamar mysqli_stmt_fetch() A função é usada para obter os valores das colunas de uma variável específica.

Sintaxe

mysqli_stmt_bind_result($stmt, $var1, $var2...);

Parâmetro

NúmeroParâmetros e descrição
1

stmt(obrigatório)

Este é o objeto que representa a declaração preparada.

2

var1(obrigatório)

isto significa que a variável deve ser vinculada à coluna.

Valor de retorno

A função PHP mysqli_stmt_bind_result() retorna um valor booleano, no caso de sucesso étrue, no caso de falha, éfalse.

Versão do PHP

Esta função foi introduzida na versão do PHP5introduzido e pode ser usado em todas as versões mais recentes.

Exemplo Online

A seguir, um exemplo demonstra:mysqli_stmt_bind_result()Uso da função (estilo procedimental), vincular o resultado a uma variável:

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE myplayers(ID INT, Primeiro_Nome VARCHAR(255), Sobrenome VARCHAR(255), Local_de_Nascimento VARCHAR(255), País VARCHAR(255))
   print("Criar tabela.....\n");
   mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')");
   mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')");
   mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')");
   print("insert record.....\n");
   //检索表的内容
   $stmt = mysqli_prepare($con, "SELECT * FROM myplayers");
   //Executar Declaração
   mysqli_stmt_execute($stmt);
   //Ligar os valores do resultado ao variável
   mysqli_stmt_bind_result($stmt, $id, $fname, $lname, $pob, $country);
   while (mysqli_stmt_fetch($stmt)) {
      print("Id: ",$id,"\n");
      print("fname: ",$fname,"\n");
      print("lname: ",$lname,"\n");
      print("pob: ",$pob,"\n");
      print("country: ",$country,"\n");
      print("\n");
   }
   //Fim da Declaração
   mysqli_stmt_close($stmt);
   //Fechar Conexão
   mysqli_close($con);
?>

Resultados de Saída

Criando tabelas.....
insert record.....
Id: 1
fname: Sikhar
lname: Dhawan
pob: Delhi
country: India
Id: 2
fname: Jonathan
lname: Trott
pob: CapeTown
country: SouthAfrica
Id: 3
fname: Kumara
lname: Sangakkara
pob: Matale
country: Srilanka

Exemplo Online

在面向对象风格中,此函数的语法为$stmt-> bind_result();。以下是面向对象风格中此函数的示例,将变量绑定到结果集:

<?php
   //建立连接
   $con = new mysqli("localhost", "root", "password", "mydb");
   $con -> query("CREATE TABLE Test(Name VARCHAR(255), AGE INT);
   $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27);
   print("Criar tabela.....\n");
   $stmt = $con -> prepare("SELECT * FROM Test WHERE Name in(?, ?);
   $stmt ->vincular_param("ss", $name)1, $name2);
   $name1 = \
   $name2 = \
   print("Registros Apagados.....\n");
   //Executar Declaração
   $stmt->executar();
   //Vincular variáveis ao conjunto de resultados
   $stmt->vincular_result($name, $age);
   enquanto ($stmt->obter()) {
      print("Nome: ").print($name).print("\n");
      print("Idade: ").print($age).print("\n");
   }
   //Fim da Declaração
   $stmt->fechar();
   //Fechar Conexão
   $con->fechar();
?>

Resultados de Saída

Criando tabelas.....
Registros Apagados.....
Nome: Raju
Idade: 25
Nome: Rahman
Idade: 30

Exemplo Online

A seguir, um exemplo de uso das funções mysqli_stmt_bind_result() e mysqli_stmt_fetch() para obter os resultados da consulta DESCRIBE e vincular os valores ao(s) variável(is):

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE myplayers(ID INT, Primeiro_Nome VARCHAR(255), Sobrenome VARCHAR(255), Local_de_Nascimento VARCHAR(255), País VARCHAR(255))
   print("Criar tabela.....\n");
   //Descrição da tabela
   $stmt = mysqli_prepare($con, "DESC myplayers");
   //Executar Declaração
   mysqli_stmt_execute($stmt);
   //Ligar os valores do resultado ao variável
   mysqli_stmt_bind_result($stmt, $field, $type, $null, $key, $default, $extra);
   while (mysqli_stmt_fetch($stmt)) {
      print("Field: ").print($field).print("\n");
      print("Type: ").print($type).print("\n");
      print("Null: ").print($null).print("\n");
      print("Key: ").print($key).print("\n");
      print("Default: ").print($default).print("\n");
      print("Extra: ").print($extra).print("\n");
      print("\n");
   }
   //Fim da Declaração
   mysqli_stmt_close($stmt);
   //Fechar Conexão
   mysqli_close($con);
?>

Resultados de Saída

Criando tabelas.....
Campo: ID
Tipo: int(11)
Nulo: SIM
Chave:
Padrão:
Extra:
Campo: Nome
Tipo: varchar(255)
Nulo: SIM
Chave:
Padrão:
Extra:
Campo: Sobrenome
Tipo: varchar(255)
Nulo: SIM
Chave:
Padrão:
Extra:
Campo: Local_de_Nascimento
Tipo: varchar(255)
Nulo: SIM
Chave:
Padrão:
Extra:
Campo: País
Tipo: varchar(255)
Nulo: SIM
Chave:
Padrão:
Extra:

Exemplo Online

O seguinte exemplo usa as funções mysqli_stmt_bind_result() e mysqli_stmt_fetch() para obter os resultados da consulta SHOW TABLES, listando todas as tabelas no banco de dados:

<?php
   $con = mysqli_connect("localhost", "root", "password");
   //Selecionando o banco de dados
   mysqli_query($con, "CREATE DATABASE NewDatabase");
   mysqli_select_db($con, "NewDatabase");
   //Criando tabelas
   mysqli_query($con, "CREATE TABLE test1(Nome VARCHAR(255), Idade INT)");
   mysqli_query($con, "CREATE TABLE test2(Nome VARCHAR(255), Idade INT)");
   mysqli_query($con, "CREATE TABLE test3(Nome VARCHAR(255), Idade INT)");
   print("Tabelas Criadas.....\n");
   //Descrição da Tabela
   $stmt = mysqli_prepare($con, "SHOW TABLES");
   //Executar Declaração
   mysqli_stmt_execute($stmt);
   //Ligar os valores do resultado ao variável
   mysqli_stmt_bind_result($stmt, $table_name);
   print("As seguintes tabelas estão todas no banco de dados atual: \n");
   while (mysqli_stmt_fetch($stmt)) {
      print($table_name."\n");
   }
   //Fim da Declaração
   mysqli_stmt_close($stmt);
   //Fechar Conexão
   mysqli_close($con);
?>

Resultados de Saída

Tabelas Criadas.....
As seguintes tabelas estão todas no banco de dados atual:
test1
test2
test3

PHP MySQLi Referência Manual