array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'mysqli.sqlstate.php', 1 => 'mysqli::$sqlstate', ), 'up' => array ( 0 => 'class.mysqli.php', 1 => 'mysqli', ), 'prev' => array ( 0 => 'mysqli.set-charset.php', 1 => 'mysqli::set_charset', ), 'next' => array ( 0 => 'mysqli.ssl-set.php', 1 => 'mysqli::ssl_set', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/mysqli/mysqli/sqlstate.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5, PHP 7, PHP 8)
mysqli::$sqlstate -- mysqli_sqlstate — Retorna o erro SQLSTATE da operação MySQL anterior
Estilo orientado a objetos
Estilo procedural
Retorna uma string contendo o código de erro SQLSTATE para o último erro.
O código de erro consiste em cinco caracteres. '00000'
significa nenhum erro.
Os valores são especificados por ANSI SQL e ODBC. Para obter uma lista de valores possíveis, consulte
» http://dev.mysql.com/doc/mysql/en/error-handling.html.
Nota:
Observe que nem todos os erros do MySQL ainda estão mapeados para SQLSTATE. O valor
HY000
(erro geral) é usado para erros não mapeados.
mysql
Somente no estilo procedural: Um objeto mysqli retornado por mysqli_connect() ou mysqli_init()
Retorna uma string contendo o código de erro SQLSTATE para o último erro.
O código de erro consiste em cinco caracteres. '00000'
significa nenhum erro.
Exemplo #1 $mysqli->sqlstate example
Estilo orientado a objetos
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* Table City já existe, então devemos receber um erro */
try {
$mysqli->query("CREATE TABLE City (ID INT, Name VARCHAR(30))");
} catch (mysqli_sql_exception) {
printf("Erro - SQLSTATE %s.\n", $mysqli->sqlstate);
}
Estilo procedural
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* Table City já existe, então devemos receber um erro */
try {
mysqli_query($link, "CREATE TABLE City (ID INT, Name VARCHAR(30))");
} catch (mysqli_sql_exception) {
printf("Erro - SQLSTATE %s.\n", mysqli_sqlstate($link));
}
Os exemplos acima produzirão:
Erro - SQLSTATE 42S01.