Funzione mysqli_error_list () di PHP
Definizione e utilizzo
Il mysqli_error_list() restituisce l'elenco degli errori verificatisi durante l'ultima chiamata alla funzione MySQLi.
Sintassi
mysqli_error_list($con)
Parametri
Suor n | Parametro e descrizione |
---|---|
1 | con(Mandatory) Questo è un oggetto che rappresenta una connessione a MySQL Server. |
Valori restituiti
La funzione mysqli_error_list () di PHP restituisce un elenco che rappresenta gli errori (ogni errore come un array) durante l'esecuzione dell'ultima istruzione.
Versione PHP
Questa funzione è stata introdotta per la prima volta nella versione 5 di PHP e funziona in tutte le versioni successive.
Esempio
L'esempio seguente dimostra l'utilizzo della funzione mysqli_error_list () (in stile procedurale) -
<?php
//Creating a connection
$con = mysqli_connect("localhost", "root", "password", "mydb");
mysqli_query($con, "CREATE TABLE Test(Name VARCHAR(10), AGE INT)");
//Executing the query
$query = "INSERT into Test values('Raju', 25),('Rahman', 30),('Sri Rama Chandra Murthi', 25)";
mysqli_query($con, $query);
//Error
$list = mysqli_error_list($con);
print_r($list);
//Closing the connection
mysqli_close($con);
?>
Questo produrrà il seguente risultato:
Array
(
[0] => Array
(
[errno] => 1406
[sqlstate] => 22001
[error] => Data too long for column 'Name' at row 3
)
)
Esempio
Nello stile orientato agli oggetti la sintassi di questa funzione è $ con -> error_list . Di seguito è riportato l'esempio di questa funzione in stile orientato agli oggetti:
<?php
//Creating a connection
$con = new mysqli("localhost", "root", "password", "mydb");
//Query to retrieve all the rows of employee table
$con -> query("SELECT * FROM wrong_table_name");
//Error
$list = $con->error_list;
print_r($list);
//Closing the connection
$con -> close();
?>
Questo produrrà il seguente risultato:
Array
(
[0] => Array
(
[errno] => 1146
[sqlstate] => 42S02
[error] => Table 'mydb.wrong_table_name' doesn't exist
)
)
Esempio
Supponiamo di avere una tabella denominata dipendente con il seguente contenuto:
mysql> select * from employee;
+------------+--------------+------+------+--------+
| FIRST_NAME | LAST_NAME | AGE | SEX | INCOME |
+------------+--------------+------+------+--------+
| Vinay | Bhattacharya | 20 | M | 16000 |
| Sharukh | Sheik | 25 | M | 13300 |
| Trupthi | Mishra | 24 | F | 31000 |
| Sheldon | Cooper | 25 | M | 2256 |
| Sarmista | Sharma | 28 | F | 15000 |
+------------+--------------+------+------+--------+
5 rows in set (0.06 sec)
Di seguito è riportato un altro esempio della funzione mysqli_error_list () -
<?php
//Creating a connection
$con = mysqli_connect("localhost", "root", "password", "mydb");
//Query to SELECT all the rows of the employee table
mysqli_query($con, "SELECT * FROM employee");
$list = mysqli_error_list($con);
print_r($list);
//Query to UPDATE the rows of the employee table
mysqli_query($con, "UPDATE employee set INCOME=INCOME+5000 where FIRST_NAME in (*)");
$list = mysqli_error_list($con);
print_r($list);
//Query to INSERT a row into the employee table
mysqli_query($con, "INSERT INTO employee VALUES (Archana, 'Mohonthy', 30, 'M', 13000, 106)");
$list = mysqli_error_list($con);
print_r($list);
//Closing the connection
mysqli_close($con);
?>
Questo produrrà il seguente risultato:
Array
(
)
Array
(
[0] => Array
(
[errno] => 1064
[sqlstate] => 42000
[error] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*)' at line 1
)
)
Array
(
[0] => Array
(
[errno] => 1136
[sqlstate] => 21S01
[error] => Column count doesn't match value count at row 1
)
)