# maxdb_sqlstate

# maxdb::sqlstate

(PECL maxdb >= 1.0)

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

### Description

Procedural style

maxdb_sqlstate ( resource `$link` ) : string

Object oriented style

string $maxdb->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 example will output something similar to:

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

### See Also

- maxdb_errno() - Returns the error code for the most recent function call
- maxdb_error() - Returns a string description of the last error