Forum und email

mysqli_stmt_sqlstate

(PHP 5)

mysqli_stmt_sqlstate — Regresa el error SQLSTATE de la operación con sentencias previa

Descripción

cadena mysqli_stmt_sqlstate ( mysqli_stmt $stmt )

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 » https://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.

Valores retornados

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.

Ejemplos

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.