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_reset()

PHP MySQLi Referência Manual

A função mysqli_stmt_reset() redefine a declaração preparada

Definição e uso

mysqli_stmt_reset()A função aceita um objeto de declaração preparada (aberta anteriormente) como parâmetro e a redefine, ou seja, ela redefine os erros, os conjuntos de resultados não armazenados e os dados enviados. As consultas, os bindings e os conjuntos de resultados armazenados não serão alterados.

Sintaxe

mysqli_stmt_reset($stmt);

Parâmetro

NúmeroParâmetros e descrição
1

con(obrigatório)

Este é o objeto da declaração preparada.

Retorno

A função PHP mysqli_stmt_reset() retorna um valor booleano, no caso de sucesso éverdadeiro, no caso de falha, éfalso.

Versão do PHP

Esta função foi introduzida no PHP versão5introduzido e pode ser usado em todas as versões mais recentes.

Exemplo online

A seguir, um exemplo demonstramysqli_stmt_reset()Função de uso (estilo procedimental)-

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Último_Nome VARCHAR(255), Local_de_Nascimento VARCHAR(255), País VARCHAR(255))");
   print("Criando 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')");
   print("Inserir registro.....\n");
   //Recuperar o conteúdo da tabela
   $stmt = mysqli_prepare($con, "SELECT * FROM myplayers");
   //Executar sentença
   mysqli_stmt_execute($stmt);
   $res = mysqli_stmt_reset($stmt);
   if($res){
      print("Resetado com sucesso");	
   }
   //Ligar os valores do resultado aos variáveis
   $res = 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 sentença
   mysqli_stmt_close($stmt);
   //Fechar conexão
   mysqli_close($con);
?>

Resultados de Saída

Inserir registro.....
Resetado com sucesso

Como resetamos a sentença no meio, não será impresso o conteúdo da saída sem função reset, o programa gerará a seguinte saída-

Inserir registro.....
Reset com Sucesso
E:\PHPExamples>php procedure_oriented.php
Criando tabela.....
Inserir registro.....
Id: 1
fname: Sikhar
lname: Dhawan
pob: Delhi
country: India
Id: 2
fname: Jonathan
lname: Trott
pob: CapeTown
country: SouthAfrica

Exemplo online

No estilo orientado a objetos, a sintaxe dessa função é$stmt-> close();。A seguir está um exemplo da função nessaestyle orientada a objetos;

<?php
   //Estabelecer conexão
   $con = new mysqli("localhost", "root", "password", "mydb");
   //Criando uma tabela
   $con -> query("CREATE TABLE players(ID INT, Primeiro_Nome VARCHAR(255), Último_Nome VARCHAR(255), Local_de_Nascimento VARCHAR(255), País VARCHAR(255))");
   print("Criando tabela.....\n");
   //Usar a sentença preparada para inserir valores na tabela
   $stmt = $con -> prepare("INSERT INTO players values(?, ?, ?, ?, ?");
   $res = $stmt->reset();
   if($res){
      print("Reset com Sucesso");	
   }
   //Ligando valores aos marcadores de parâmetros
   $stmt -> bind_param("issss", $id, $fname, $lname, $pob, $country);
   $id = 1;
   $fname = 'Shikhar';
   $lname = 'Dhawan';
   $pob = 'Delhi';
   $country = 'India';
   //Executar sentença
   $stmt->execute();
   //Fim da sentença
   $stmt->close();
   //Fechar conexão
   $con->close();
?>

Resultados de Saída

Criando tabela.....
Reset com Sucesso

E o conteúdo da tabela de jogadores ficará vazio-

mysql> drop table players;
Query OK, 0 linhas afetadas (0.26 sec)

Se você remover a função reset() e executar o programa acima, o conteúdo da tabela players será como follows:

mysql> select * from players;
+------+------------+-----------+----------------+---------+
| ID | Primeiro_Nome | Último_Nome | Local_de_Nascimento | País |
+------+------------+-----------+----------------+---------+
|    1 | Shikhar | Dhawan | Delhi | Índia |
+------+------------+-----------+----------------+---------+
1 row in set (0.00 sec)

PHP MySQLi Referência Manual