• PHP Video Tutorials

PHP mysqli_stmt_sqlstate() Function



Definition and Usage

The mysqli_stmt_sqlstate() function returns the SQLSTATE error occurred during the execution of the last statement.

Syntax

mysqli_stmt_sqlstate($stmt);

Parameters

Sr.No Parameter & Description
1

stmt(Mandatory)

This is an object representing a statement (prepared).

Return Values

PHP mysqli_stmt_sqlstate() function returns a string value representing the SQLSTATE error occurred during the execution of the last statement. If there are no errors this function returns 00000.

PHP Version

This function was first introduced in PHP Version 5 and works works in all the later versions.

Example

Following example demonstrates the usage of the mysqli_stmt_sqlstate() function (in procedural style) −

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");

   mysqli_query($con, "CREATE TABLE emp(ID INT, FirstName VARCHAR(20))");
   print("Table Created.....\n");

   $stmt = mysqli_prepare($con, "INSERT INTO emp (ID) VALUES (?)");
   mysqli_stmt_bind_param($stmt, "s", $id);
   $id = 'test';

   //Executing the statement
   mysqli_stmt_execute($stmt);
   //State
   $state = mysqli_stmt_sqlstate($stmt);
   print("state: ".$state);

   //Closing the statement
   mysqli_stmt_close($stmt);

   //Closing the connection
   mysqli_close($con);
?>

This will produce following result −

Table Created.....
state: HY000

Example

In object oriented style the syntax of this function is $con ->sqlstate. Following is the example of this function in object oriented style −

<?php
   //Creating a connection
   $con = new mysqli("localhost", "root", "password", "mydb");

   $con -> query("CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
   print("Table Created.....\n");
   $con -> query("INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')");
   print("Record Inserted.....\n");

   $stmt = $con ->prepare("SELECT * FROM myplayers");

   $con ->query("DROP TABLE myplayers");

   //Executing the statement
   $stmt->execute();

   //SQl State
   $state = $stmt ->sqlstate;
   print("SQL State: ".$state);

   //Closing the statement
   $stmt->close();

   //Closing the connection
   $con->close();
?>

This will produce following result −

Table Created.....
Record Inserted.....
SQL State: 42S02

Example

Following is another example of the mysqli_stmt_sqlstate() function −

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");

   mysqli_query($con, "CREATE TABLE emp(ID INT, FirstName VARCHAR(20), LastName VARCHAR(5), DateOfBirth VARCHAR(255), Salary INT)");
   print("Table Created.....\n");

   $stmt = mysqli_prepare($con, "INSERT INTO emp values(?, ?, ?, ?, ?)");
   mysqli_stmt_bind_param($stmt, "isssi", $id, $fname, $lname, $pob, $country);
   $id = 1;
   $fname = 'Swetha';
   $lname = 'Yellapragada';
   $dob = DATE('1981-12-05');
   $country = 2366;
   //Executing the statement
   mysqli_stmt_execute($stmt);
   //Warnings
   $state = mysqli_stmt_sqlstate($stmt);
   print("state: ".$state);

   //Closing the statement
   mysqli_stmt_close($stmt);

   //Closing the connection
   mysqli_close($con);
?>

This will produce following result −

Table Created.....
state: 22001
php_function_reference.htm
Advertisements