mysqli_info în PHP

Returnează un text cu detalii despre ultima interogare: rânduri potrivite, modificate, duplicate.

Sintaxă
mysqli_info(mysqli $mysql): ?string

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 INSERT cu un singur rând. Pentru el, rezultatul este null; folosește mysqli_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.