# maxdb_sqlstate

# maxdb->sqlstate

(PECL maxdb:1.0-7.6.00.38)

maxdb->sqlstate — Returns the SQLSTATE error from previous MaxDB operation

### Description

Procedural style:

string maxdb_sqlstate ( resource `$link` )

Object oriented style (property):

maxdb
string$sqlstate;

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC.

> Note: Note that not all MaxDB errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

### Return Values

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

### Examples

Example#1 Object oriented style

`<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");
/* check connection */
if (maxdb_connect_errno()) {
printf("Connect failed: %s\n", maxdb_connect_error());
exit();
}
/* Table City already exists, so we should get an error */
if (!$maxdb->query("CREATE TABLE hotel.city (ID INT, Name VARCHAR(30))")) {
printf("Error - SQLSTATE %s.\n", $maxdb->sqlstate);
}
$maxdb->close();
?>`

Example#2 Procedural style

`<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");
/* check connection */
if (maxdb_connect_errno()) {
printf("Connect failed: %s\n", maxdb_connect_error());
exit();
}
/* Table City already exists, so we should get an error */
if (!maxdb_query($link, "CREATE TABLE hotel.city (ID INT, Name VARCHAR(30))")) {
printf("Error - SQLSTATE %s.\n", maxdb_sqlstate($link));
}
maxdb_close($link);
?>`

The above examples would produce the following output:

    Warning: maxdb_query(): -6000 POS(20) Duplicate table name:CITY [I6000] <...>
    Error - SQLSTATE I6000.

### See Also

- maxdb_errno()
- maxdb_error()