Función PHP mysqli_warning_count ()
Definición y uso
si su última llamada a la función MySQLi ejecuta una consulta MySQL y si genera algún error. losmysqli_warning_count() La función cuenta el número de errores generados por la última consulta ejecutada y devuelve el resultado.
Sintaxis
mysqli_warning_count($con)
Parámetros
No Señor | Descripción de parámetros |
---|---|
1 | con(Mandatory) Este es un objeto que representa una conexión a MySQL Server. |
Valores devueltos
La función PHP mysqli_warning_count () devuelve un valor entero que representa el número de advertencias generadas durante la ejecución de la última consulta. Si no hay advertencias durante la última ejecución, esta función devuelve 0
Versión PHP
Esta función se introdujo por primera vez en PHP Versión 5 y funciona en todas las versiones posteriores.
Supongamos que hemos creado una tabla llamada Emp de la siguiente manera:
CREATE TABLE EMP(
ID TINYINT,
First_Name VARCHAR(50) Not NULL,
Last_Name VARCHAR(10) Not NULL,
Date_Of_Birth date,
Salary Int(255)
);
Ejemplo
El siguiente ejemplo demuestra el uso de la función mysqli_warning_count () (en estilo procedimental):
<?php
//Creating a connection
$con = mysqli_connect("localhost", "root", "password", "mydb");
//Inserting a record into the employee table
$sql = "INSERT IGNORE into emp values(1, 'Sanjay', NULL, DATE('1981-12-05'), 2566)";
mysqli_query($con, $sql);
//Number of Warnings
$count = mysqli_warning_count($con);
print("Number of Warnings: ".$count ."\n");
$sql = "INSERT IGNORE into emp values (15, 'Swetha', 'Yellapragada', DATE('1990-11-25'), 9986), (15, NULL, 'Prayaga', DATE('1990-11-25'), 9986)";
mysqli_query($con, $sql);
//Number of Warnings
$count = mysqli_warning_count($con);
print("Number of Warnings: ".$count);
//Closing the connection
mysqli_close($con);
?>
Esto producirá el siguiente resultado:
Number of Warnings: 1
Number of Warnings: 2
Ejemplo
En el estilo orientado a objetos, la sintaxis de esta función es $ con -> warning_count , donde, $ con es el objeto de conexión -
<?php
//Creating a connection
$con = new mysqli("localhost", "root", "password", "mydb");
//Inserting a record into the employee table
$con -> query("INSERT IGNORE into emp values(1, 'Sanjay', NULL, DATE('1981-12-05'), 2566)");
//Number of Warnings
$count1 = $con->warning_count;
print("Number of Warnings: ".$count1."\n");
//Inserting a record into the employee table
$con -> query("INSERT IGNORE into emp values(15, 'Swetha', 'Yellapragada', DATE('1990-11-25'), 9986), (15, NULL, 'Prayaga', DATE('1990-11-25'), 9986)");
//Number of Warnings
$count2 = $con->warning_count;
print("Number of Warnings: ".$count2);
//Closing the connection
$con -> close();
?>
Esto producirá el siguiente resultado:
Number of Warnings: 0
Number of Warnings: 2
Ejemplo
A continuación se muestra otro ejemplo de la función mysqli_warning_count () -
<?php
//Creating a connection
$con = mysqli_connect("localhost", "root", "password", "mydb");
//Warning count for proper query
mysqli_query($con, "SELECT * FROM EMP");
print("No.Of Warnings (proper query): ".mysqli_warning_count($con)."\n");
//Query to DROP an unknown table
mysqli_query($con, "drop table if exists WrongTable");
print("No.Of Warnings: ".mysqli_warning_count($con)."\n");
//Warnings of before last statement
mysqli_query($con, "INSERT IGNORE into emp values(107, 'Sunitha', NULL, DATE('1981-12-05'), 2566)");
mysqli_query($con, "INSERT IGNORE into emp values(7, 'Mohit', 'Sharma', DATE('1981-12-05'), 2566)");
print("No.Of Warnings (if before last query contains errors): ".mysqli_warning_count($con)."\n");
//Closing the connection
mysqli_close($con);
?>
Esto producirá el siguiente resultado:
Insert ID (select query): 0
Insert ID: (multiple inserts) 6
Insert ID (update query): 0
Insert ID: (table with out auto incremented key) 0
Ejemplo
<?php
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "mydb";
$conn = new mysqli($servername, $username, $password, $dbname);
if (!$conn->real_connect($servername, $username, $password, $dbname)) {
die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
}
print("Database connected" ."\n");
mysqli_query($conn, "CREATE TABLE sample (ID INT, Name VARCHAR(20))");
$query = "INSERT IGNORE INTO sample (id,name) VALUES(
1,'Rajesh Ramayan Kootrapally')";
mysqli_query($conn, $query);
$warnings = mysqli_warning_count($conn);
print("No.Of warnings in the query:".$warnings."\n");
if ($warnings) {
if ($result = mysqli_query($conn, "SHOW WARNINGS")) {
$row = mysqli_fetch_row($result);
printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
mysqli_free_result($result);
}
}
mysqli_close($conn);
?>
Esto producirá el siguiente resultado:
Database connected
No.Of warnings in the query:1
Warning (1265): Data truncated for column 'Name' at row 1