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

Tutorial básico do PHP

Tutorial avançado do PHP

PHP & MySQL

Manual de referência PHP

Uso e exemplo da função PHP mysqli_warning_count()

PHP MySQLi Referência

A função mysqli_warning_count() retorna o número de alertas da última consulta da conexão.

Definição e uso

Se sua última chamada de função MySQLi executou uma consulta MySQL e se ela gerou algum erro. A função tem a seguinte função: conta o número de erros gerados pela última consulta executada e retorna o resultado.

Sintaxe

mysqli_warning_count($con)

Parâmetro

NúmeroParâmetros e descrição
1

con (obrigatório)

Este é um objeto que representa a conexão com o MySQL Server.

Retorno do valor

A função PHP mysqli_warning_count() retorna um valor inteiro que representa o número de alertas gerados durante a execução da última consulta. Se não houver alertas no último execução, a função retorna0

Versão do PHP

Essa função foi introduzida no PHP versão5introduzido e pode ser usado em todas as versões mais recentes.

Suponha que tenhamos criado uma tabela chamada Emp, conforme abaixo:

CREATE TABLE EMP(
    ID TINYINT,
    Nome_Primeiro VARCHAR(50) Não Nulo, 
    Nome_Ultimo VARCHAR(10); Não Nulo, 
    Data_de_Nascimento date, 
    Salário Int(255);
);

Exemplo online

A seguir, um exemplo demonstramysqli_warning_count()Uso da função (estilo orientado a processos)-

<?php
   //Estabelecer conexão
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //Inserir registro na tabela employee
   $sql = "INSERT IGNORE INTO emp VALUES ("1, 'Sanjay', NULL, DATE('1981-12-05', 2566);
   mysqli_query($con, ";");
   //Número de alertas
   $count = mysqli_warning_count($con);
   print("Número de alertas: ",$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, ";");
   //Número de alertas
   $count = mysqli_warning_count($con);
   print("Número de alertas: ",$count);
   //Fechar conexão
   mysqli_close($con);
?>

Resultados de saída

Número de alertas: 1
Número de alertas: 2

Exemplo online

Em estilo orientado a objetos, a sintaxe dessa função é$con-> warning_countonde$conÉ um objeto de conexão-

<?php
   //Estabelecer conexão
   $con = new mysqli("localhost", "root", "password", "mydb");
   //Inserir registro na tabela employee
   $con -> query("INSERT IGNORE into emp values(1, 'Sanjay', NULL, DATE('1981-12-05', 2566);
   //Número de alertas
   $count1 = $con-> warning_count;
   print("Número de alertas: ".$count1."\n");
   //Inserir registro na tabela employee
   $con -> query("INSERT IGNORE into emp values(15, 'Swetha', 'Yellapragada', DATE('1990-11-25', 9986), (15, NULL, 'Prayaga', DATE('1990-11-25', 9986);
   //Número de alertas
   $count2 = $con-> warning_count;
   print("Número de alertas: ".$count2);
   //Fechar conexão
   $con -> close();
?>

Resultados de saída

Número de alertas: 0
Número de alertas: 2

Exemplo online

A seguir está a funçãomysqli_warning_count()Outro exemplo-

<?php
   //Estabelecer conexão
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //Contagem de alertas de consulta correta
   mysqli_query($con, "SELECT * FROM EMP);
   print("Número de alertas (consulta correta): ".mysqli_warning_count($con)."\n");
   //Consulta para deletar tabela desconhecida
   mysqli_query($con, "drop table if exists WrongTable");
   print("Número de alertas: ".mysqli_warning_count($con)."\n");
   //Aviso anterior à última instrução
   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("Número de alertas (se a última consulta contiver erros): ".mysqli_warning_count($con)."\n");
   //Fechar conexão
   mysqli_close($con);
?>

Resultados de saída

Número de alertas (consulta correta): 0
ID de inserção: (inserções múltiplas) 6
ID de inserção (consulta de atualização): 0
Número de alertas (se a última consulta contiver erros): 0

Exemplo online

Retorna o número de avisos da última consulta na conexão.

<?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('Erro de Conexão ('.mysqli_connect_errno().') '.mysqli_connect_error());
   }
   print("Banco de dados conectado"."\n");
   mysqli_query($conn, "CREATE TABLE sample (ID INT, Nome VARCHAR(20));
   $query = "INSERT IGNORE INTO sample (id,name) VALUES("
      1,'Rajesh Ramayan Kootrapally')";
   mysqli_query($conn, $query);
   $warnings = mysqli_warning_count($conn);
   print("Número de avisos na consulta:".$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);
?>

Resultados de saída

Banco de dados conectado
Número de avisos na consulta:1
Aviso (1265): Dados truncados para a coluna 'Name' na linha 1

PHP MySQLi Referência