Ce face mysqli_info
Textul există doar pentru unele comenzi: INSERT cu mai multe rânduri (Records: 3 Duplicates: 0 Warnings: 0), UPDATE (Rows matched: 2 Changed: 1 Warnings: 0), ALTER TABLE și LOAD DATA. Pentru celelalte, funcția returnează null.
La UPDATE este util pentru că arată atât rândurile găsite, cât și pe cele schimbate efectiv; mysqli_affected_rows dă doar al doilea număr.
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ă
Textul cu informații sau null.
Exemple
Exemplul 1: INSERT multiplu și UPDATE
<?php
$conn = mysqli_connect("localhost", "ana", "parola_ta", "magazin");
mysqli_set_charset($conn, "utf8mb4");
mysqli_query($conn, "INSERT INTO produse (nume, pret, stoc) VALUES ('Boxe', 320, 6), ('Microfon', 210, 4)");
echo mysqli_info($conn) . "\n";
mysqli_query($conn, "UPDATE produse SET pret = 80 WHERE id IN (1, 2)");
echo mysqli_info($conn) . "\n";
mysqli_query($conn, "INSERT INTO produse (nume, pret, stoc) VALUES ('Cablu', 15, 50)");
var_dump(mysqli_info($conn));
Rezultat (cu un server MySQL și tabelul produse de mai sus)
Records: 2 Duplicates: 0 Warnings: 0
Rows matched: 2 Changed: 1 Warnings: 0
NULL
Greșeli frecvente
- Te aștepți la un text și pentru un
INSERTcu un singur rând. Pentru el, rezultatul estenull; foloseștemysqli_affected_rows.
Comenzi înrudite
mysqli_affected_rows: Returnează câte rânduri au fost modificate de ultimul INSERT, UPDATE, DELETE sau REPLACE.mysqli_warning_count: Returnează numărul de avertismente generate de ultima interogare pe conexiune.