mysqli::$sqlstate

mysqli_sqlstate

(PHP 5, PHP 7, PHP 8)

mysqli::$sqlstate -- mysqli_sqlstateRetorna o erro SQLSTATE da operação MySQL anterior

Descrição

Estilo orientado a objetos

Estilo procedural

mysqli_sqlstate(mysqli $mysql): string

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.

Note:

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.

Parâmetros

mysql

Somente no estilo procedural: Um objeto mysqli retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

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.

Exemplos

Example #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.

Veja Também

  • mysqli_errno() - Retorna o código de erro para a chamada de função mais recente
  • mysqli_error() - Retorna uma string descrevendo o último erro