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 mysqli_sqlstate() do PHP

PHP MySQLi Guia de Referência

A função mysqli_sqlstate() do PHP retorna o código de erro SQLSTATE da última erro.

Definição e uso

mysqli_sqlstate()A função retorna uma string que contém o código de erro SQLSTATE da última operação SQL. O código de erro é definido por 5 caracteres constituem, '00000' representa que não houve erro. O código de erro é definido pelo ANSI SQL e ODBC.
Atenção: É importante notar que não todos os erros do MySQL são mapeados para SQLSTATE, as mensagens de erro não mapeadas usam HY000 (erro geral) para representar.

Sintaxe

mysqli_sqlstate($con)

Parâmetro

Número de ordemParâmetros e descrição
1

con(obrigatório)

Este é um objeto que representa a conexão com o servidor MySQL.

Valor de retorno

A função mysqli_sqlstate() do PHP retorna um valor de string que representa o erro de SQLSTATE ocorrido durante a última operação MySQL. Se não houver erro, esta função retorna00000.

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

O exemplo a seguir demonstramysqli_sqlstate()Uso da função (estilo procedimental)-

<?php
   //Estabelecer conexão
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //Consulta para recuperar todos os registros da tabela
   mysqli_query($con, "Select * from WrongTable");
   //Estado SQL
   $state = mysqli_sqlstate($con);
   print("Erro de estado SQL: "$state");
   //Fechar Conexão
   mysqli_close($con);
?>

Resultados de Saída

Erro de estado SQL: 42S02

Exemplo Online

No estilo orientado a objetos, a sintaxe desta função é$con-> sqlstate. A seguir está um exemplo deste função em estilo orientado a objetos-

<?php
   //Estabelecer conexão
   $con = new mysqli("localhost", "root", "password", "mydb");
   //Consulta para recuperar todos os registros da tabela employee
   $con -> query("Select FIRST_NAME, LAST_NAME, AGE from employee");
   //Estado SQL
   $state = $con-> sqlstate;
   print("Erro de estado SQL: "$state");
   //Fechar Conexão
   $con -> close();
?>

Resultados de Saída

Erro de estado SQL: 42000

Exemplo Online

A seguir estámysqli_sqlstate()Outro exemplo de função-

<?php
   //Estabelecer conexão
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //Consulta para seleccionar todas as linhas da tabela employee
   mysqli_query($con, "SELECT * FROM employee");
   print("Erro de Estado SQL: " . mysqli_sqlstate($con) . "\n");
   //Consulta para atualizar linhas na tabela employee
   mysqli_query($con, "UPDATE employee set INCOME=INCOME+5000 where FIRST_NAME in (*);
   print("Erro de Estado SQL: " . mysqli_sqlstate($con) . "\n");
   //Consulta para inserir uma linha na tabela employee
   mysqli_query($con, "INSERT INTO employee VALUES (Archana, 'Mohonthy', 30, 'M', 13000, 106);
   print("Erro de Estado SQL: " . mysqli_sqlstate($con) . "\n");
   //Fechar Conexão
   mysqli_close($con);
?>

Resultados de Saída

Erro de Estado SQL: 00000
Erro de Estado SQL: 42000
Erro de Estado SQL: 42S22

Exemplo Online

Retorna o código de erro SQLSTATE da última operação MySQL:

<?php
   $connection_mysql = mysqli_connect("localhost", "root", "password", "mydb");
   
   if (mysqli_connect_errno($connection_mysql)){
      echo "Falha na conexão com MySQL: " . mysqli_connect_error();
   }
   
   //Suponha que já tenhamos uma tabela chamada Persons no banco de dados mydb
   $sql = "CREATE TABLE Persons (Firstname VARCHAR(30), Lastname VARCHAR(30), Age INT)";
   
   if (!mysqli_query($connection_mysql, $sql)){
      echo "SQLSTATE error: " . mysqli_sqlstate($connection_mysql);
   }
   
   mysqli_close($connection_mysql);
?>

Resultados de Saída

SQLSTATE error: 42S01

PHP MySQLi Guia de Referência