(PHP 5)
mysqli_stmt_sqlstate — Regresa el error SQLSTATE de la operación con sentencias previa
Regresa una cadena conteniendo el código de error SQLSTATE para la sentencia preparada más recientemente invocada que pudo ser exitosa o fallar. El código de error consiste de cinco caracteres. '00000' significa que no hubo error. Los valores son específicados por ANSI SQL y ODBC. Para una lista de los posibles valores vea » http://dev.mysql.com/doc/mysql/en/error-handling.html.
Note: Note que no todos los errores de MySQL tienen un correspondiente en SQLSTATE. El valor HY000 (error general) es usado para errores que no tienen ese correspondiente.
Regresa una candena conteniendo el código de error SQLSTATE para el último error. El código de error consiste de cinco caracteres. '00000' significa que no hubo error.
Example#1 Estilo orientado a objetos
<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");
$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {
/* drop table */
$mysqli->query("DROP TABLE myCountry");
/* execute query */
$stmt->execute();
printf("Error: %s.\n", $stmt->sqlstate);
/* close statement */
$stmt->close();
}
/* close connection */
$mysqli->close();
?>
Example#2 Estilo por procedimientos
<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");
$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {
/* drop table */
mysqli_query($link, "DROP TABLE myCountry");
/* execute query */
mysqli_stmt_execute($stmt);
printf("Error: %s.\n", mysqli_stmt_sqlstate($stmt));
/* close statement */
mysqli_stmt_close($stmt);
}
/* close connection */
mysqli_close($link);
?>
El resultado del ejemplo seria:
Error: 42S02.