English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP базовый курс

PHP продвинутый курс

PHP & MySQL

PHP справочник

PHP mysqli_warning_count() пример использования и примеры кода

PHP MySQLi справочник

Функция mysqli_warning_count() возвращает количество предупреждений последнего выполненного запроса в соединении.

Определение и использование

Если ваша последняя функция MySQLi вызывала выполнение MySQL запроса и она генерировала какие-либо ошибки. Функция выполняет: подсчет количества ошибок, генерируемых последним выполненным запросом, и возвращает результат.

Синтаксис

mysqli_warning_count($con)

Параметр

НомерПараметры и описание
1

con(обязателен)

Это объект, представляющий соединение с сервером MySQL.

Возвратное значение

Функция PHP mysqli_warning_count() возвращает целое значение, которое представляет количество предупреждений, сгенерированных во время выполнения последнего запроса. Если во время последнего выполнения не было предупреждений, эта функция возвращает0

Версия PHP

Эта функция была введена в PHP версии 5 и может использоваться во всех более поздних версиях.

Предположим, что мы создали таблицу с именем Emp, как показано ниже:

CREATE TABLE EMP(
    ID TINYINT,
    First_Name VARCHAR(50) NOT NULL, 
    Last_Name VARCHAR(10) NOT NULL, 
    Date_Of_Birth date, 
    Salary INT(255)
);

Онлайн пример

Ниже приведен пример того, как это делается:mysqli_warning_count()Использование функции (по стилю procedural programming)-

<?php
   //Установление соединения
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //В таблице employee вставить запись
   $sql = "INSERT IGNORE into emp values(1, 'Sanjay', NULL, DATE('1981-12-05'), 2566)";
   mysqli_query($con, $sql);
   //Число предупреждений
   $count = mysqli_warning_count($con);
   print(" Warnungszahl: ".$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);
   //Число предупреждений
   $count = mysqli_warning_count($con);
   print(" Warnungszahl: ".$count);
   //Закрытие соединения
   mysqli_close($con);
?>

Результат вывода

Warnungszahl: 1
Число предупреждений: 2

Онлайн пример

В стилистике объектно-ориентированного программирования, грамматика этой функции такая:$con->warning_countв которой$conЭто объект подключения-

<?php
   //Установление соединения
   $con = new mysqli("localhost", "root", "password", "mydb");
   //В таблице employee вставить запись
   $con -> query("INSERT IGNORE into emp values(1, 'Sanjay', NULL, DATE('1981-12-05'), 2566)");
   //Число предупреждений
   $count1 = $con->warning_count;
   print(" Warnungszahl: ".$count1."\n");
   //В таблице employee вставить запись
   $con -> query("INSERT IGNORE into emp values(15, 'Swetha', 'Yellapragada', DATE('1990-11-25'), 9986), (15, NULL, 'Prayaga', DATE('1990-11-25'), 9986)");
   //Число предупреждений
   $count2 = $con->warning_count;
   print("Число предупреждений: ".$count2);
   //Закрытие соединения
   $con -> close();
?>

Результат вывода

Число предупреждений: 0
Число предупреждений: 2

Онлайн пример

Вот функцияmysqli_warning_count()Другой пример -

<?php
   //Установление соединения
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //Число предупреждений правильного запроса
   mysqli_query($con, "SELECT * FROM EMP");
   print("Число предупреждений (правильный запрос): ".mysqli_warning_count($con)."\n");
   //Запрос на удаление не известной таблицы
   mysqli_query($con, "drop table if exists WrongTable");
   print("Число предупреждений: ".mysqli_warning_count($con)."\n");
   //Предупреждение перед последним запросом
   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("Число предупреждений (если в предыдущем запросе содержались ошибки): ".mysqli_warning_count($con)."\n");
   //Закрытие соединения
   mysqli_close($con);
?>

Результат вывода

Число предупреждений (правильный запрос): 0
ID вставки: (несколько вставок) 6
ID вставки (обновляющий запрос): 0
Число предупреждений (если в предыдущем запросе содержались ошибки) 0

Онлайн пример

Вернуть количество предупреждений последнего выполненного запроса в соединении.

<?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('Ошибка подключения ('.mysqli_connect_errno().') '.mysqli_connect_error());
   }
   print("База данных подключена"."\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("Количество предупреждений в запросе:".$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);
?>

Результат вывода

База данных подключена
Количество предупреждений в запросе: 1
Предупреждение (1265): данные обрезаны для столбца 'Name' в строке 1

PHP MySQLi справочник