- PHP Basics
- Learn PHP
- PHP Comments
- PHP Data Types
- PHP Variables
- PHP Operators
- PHP echo
- PHP print
- PHP echo vs. print
- PHP if else
- PHP switch
- PHP for Loop
- PHP while Loop
- PHP do...while Loop
- PHP foreach Loop
- PHP break and continue
- PHP Arrays
- PHP print_r()
- PHP unset()
- PHP Strings
- PHP Functions
- PHP File Handling
- PHP File Handling
- PHP Open File
- PHP Create a File
- PHP Write to File
- PHP Read File
- PHP feof()
- PHP fgetc()
- PHP fgets()
- PHP Close File
- PHP Delete File
- PHP Append to File
- PHP Copy File
- PHP file_get_contents()
- PHP file_put_contents()
- PHP file_exists()
- PHP filesize()
- PHP Rename File
- PHP fseek()
- PHP ftell()
- PHP rewind()
- PHP disk_free_space()
- PHP disk_total_space()
- PHP Create Directory
- PHP Remove Directory
- PHP Get Files/Directories
- PHP Get filename
- PHP Get Path
- PHP filemtime()
- PHP file()
- PHP include()
- PHP require()
- PHP include() vs. require()
- PHP and MySQLi
- PHP and MySQLi
- PHP MySQLi Setup
- PHP MySQLi Create DB
- PHP MySQLi Create Table
- PHP MySQLi Connect to DB
- PHP MySQLi Insert Record
- PHP MySQLi Update Record
- PHP MySQLi Fetch Record
- PHP MySQLi Delete Record
- PHP MySQLi SignUp Page
- PHP MySQLi LogIn Page
- PHP MySQLi Store User Data
- PHP MySQLi Close Connection
- PHP Misc Topics
- PHP Object Oriented
- PHP new Keyword
- PHP Cookies
- PHP Sessions
- PHP Date and Time
- PHP GET vs. POST
- PHP File Upload
- PHP Image Processing
PHP error and mysqli_error()
This article is created to cover the two topics of PHP, that are:
- error
- mysqli_error()
Both are used to return the description of error (if any), by the most recent function call. The only difference is, the error uses with PHP MySQLi object-oriented script, whereas the mysqli_error() is uses with PHP MySQLi procedural script.
PHP error
The PHP error returns the description of the error (if any), by the most recent function call, in PHP MySQLi object-oriented style. For example:
<?php $driver = new mysqli_driver(); $driver->report_mode = MYSQLI_REPORT_OFF; $servername = "localhost"; $username = "root"; $password = ""; $conn = new mysqli($servername, $username, $password); if($conn->connect_errno) { echo "Database connection failed!<BR>"; echo "Reason: ", $conn->connect_error; exit(); } $table = "myTable"; $sql = "INSERT INTO $table (Name, City) VALUES ('Jackson', 'Vancouver')"; $qry = $conn->query($sql); if($qry) { // block of code to process further // if everything is fine } else { echo "Error occurred while executing the query.<BR>"; echo "Reason: ", $conn->error; } $conn->close(); ?>
The output produced by above PHP example on error, is shown in the snapshot given below:
That is:
Error occurred while executing the query. Reason: No database selected
Because, while opening the connection, I have not provided the database. Therefore, while executing the query to insert some data into the table named myTable, has not executed, as the database has not selected.
Note - The mysqli_driver() is used to modify the error reporting mode, in object-oriented style.
Note - The mysqli() is used to open a connection to the MySQL database server, in object-oriented style.
Note - The new keyword is used to create a new object.
Note - The connect_errno is used to get/return the error code (if any) from last connect call, in object-oriented style.
Note - The connect_error is used to get the error description (if any) from last connection, in object-oriented style.
Note - The query() is used to perform query on the MySQL database, in object-oriented style.
Note - The close() is used to close an opened connection, in object-oriented style.
Now let me insert and select the database say fresherearth, and re-execute the above PHP script:
<?php $driver = new mysqli_driver(); $driver->report_mode = MYSQLI_REPORT_OFF; $conn = new mysqli("localhost", "root", "", "fresherearth"); if(!$conn->connect_errno) { if(!$conn->query("INSERT INTO myTable (Name, City) VALUES ('Jackson', 'Vancouver')")) { echo "Error occurred while executing the query.<BR>"; echo "Reason: ", $conn->error; } } $conn->close(); ?>
Since the table myTable is not available in my database named fresherearth. Therefore, the output should be:
Error occurred while executing the query. Reason: Table 'fresherearth.mytable' doesn't exist
Saying that the table mytable does not exists in the database fresherearth.
The following two statements:
$driver = new mysqli_driver(); $driver->report_mode = MYSQLI_REPORT_OFF;
are used to off the error reporting, to show you the custom error message defined by me/developer.
PHP error Syntax
The syntax of error in PHP, is:
connectionVariable -> error
PHP mysqli_error()
The PHP mysqli_error() returns the description of the error (if any), by the most recent function call in PHP MySQLi procedural style. For example:
<?php mysqli_report(MYSQLI_REPORT_OFF); $conn = mysqli_connect("localhost", "root", "", "fresherearth"); if(!mysqli_connect_errno()) { if(!mysqli_query($conn, "INSERT INTO myTable (Name, City) VALUES ('Jackson', 'Vancouver')")) { echo "Error occurred while executing the query.<BR>"; echo "Reason: ", mysqli_error($conn); } } mysqli_close($conn); ?>
You will get the same output as of previous one.
Note - The mysqli_report() is used to modify the error reporting mode, in procedural style.
Note - The mysqli_connect() is used to open a connection to the MySQL database server, in procedural style.
Note - The mysqli_connect_errno() is used to get/return the error code (if any) from last connect call, in procedural style.
Note - The mysqli_query() is used to perform query on the MySQL database, in procedural style.
Note - The mysqli_close() is used to close an opened connection to the MySQL database, in procedural style.
PHP mysqli_error() Syntax
The syntax of mysqli_error() function in PHP, is:
mysqli_error(connectionVariable)
« Previous Tutorial Next Tutorial »