Ce face mysqli_warning_count
MySQL poate termina o interogare cu succes, dar cu avertismente: o împărțire la zero, o valoare rotunjită, un tabel inexistent la DROP TABLE IF EXISTS. mysqli_warning_count spune câte au fost; textul lor îl iei cu mysqli_get_warnings sau cu interogarea SHOW WARNINGS.
Exemplele de pe această pagină folosesc baza de date magazin, cu tabelul produse (coloanele id INT AUTO_INCREMENT, nume VARCHAR(100) NOT NULL, pret INT și stoc INT) și patru rânduri: Laptop (3200 lei, 5 buc.), Mouse (80 lei, 40 buc.), Monitor (900 lei, 0 buc.) și Tastatură (150 lei, 12 buc.). Comenzile SQL sunt explicate în secțiunea MySQL. Rezultatele au fost scrise pentru MySQL 8, pentru că exemplele au nevoie de un server de baze de date.
Parametri
| Parametru | Descriere |
|---|---|
$mysql |
Conexiunea. |
Ce returnează
Numărul de avertismente.
Exemple
Exemplul 1: Interogări cu avertismente
<?php
$conn = mysqli_connect("localhost", "ana", "parola_ta", "magazin");
mysqli_query($conn, "SELECT pret / 0 FROM produse");
echo mysqli_warning_count($conn) . "\n";
mysqli_query($conn, "DROP TABLE IF EXISTS tabel_vechi");
echo mysqli_warning_count($conn) . "\n";
mysqli_query($conn, "SELECT pret FROM produse");
echo mysqli_warning_count($conn);
Rezultat (cu un server MySQL și tabelul produse de mai sus)
4
1
0
Greșeli frecvente
- Ignori avertismentele la importuri de date. Pot însemna valori trunchiate sau convertite; verifică
mysqli_warning_countdupă fiecare comandă importantă.
Comenzi înrudite
mysqli_get_warnings: Returnează avertismentele ultimei interogări ca obiect mysqli_warning, pe care îl parcurgi cu next().mysqli_stmt_get_warnings: Returnează avertismentele generate de o interogare pregătită, ca obiect mysqli_warning.mysqli_info: Returnează un text cu detalii despre ultima interogare: rânduri potrivite, modificate, duplicate.