mysqli_fetch_field în PHP

Returnează informațiile despre următoarea coloană din rezultat: nume, tabel, tip, lungime.

Sintaxă
mysqli_fetch_field(mysqli_result $result): object|false

Ce face mysqli_fetch_field

Fiecare apel dă următoarea coloană, ca obiect cu proprietățile name (numele din rezultat, inclusiv aliasul), orgname (numele real al coloanei), table, orgtable, db, type (o constantă MYSQLI_TYPE_*), length, max_length, flags, decimals și charsetnr. Când nu mai sunt coloane, returnează false.

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
$result Rezultatul interogării.

Ce returnează

Un obiect cu informațiile despre coloană sau false.

Exemple

Exemplul 1: Coloanele unui rezultat

<?php
$conn = mysqli_connect("localhost", "ana", "parola_ta", "magazin");

$rezultat = mysqli_query($conn, "SELECT id, nume AS produs, pret FROM produse");
$tipuri = [MYSQLI_TYPE_LONG => "INT", MYSQLI_TYPE_VAR_STRING => "VARCHAR"];

while ($coloana = mysqli_fetch_field($rezultat)) {
    echo "$coloana->name (coloana $coloana->orgname din $coloana->table): " . $tipuri[$coloana->type] . "\n";
}

Rezultat (cu un server MySQL și tabelul produse de mai sus)

id (coloana id din produse): INT
produs (coloana nume din produse): VARCHAR
pret (coloana pret din produse): INT

Greșeli frecvente

  • Te aștepți ca length să fie numărul de caractere. Este lungimea maximă în octeți: pentru VARCHAR(100) în utf8mb4 este 400.

Comenzi înrudite

  • mysqli_fetch_fields: Returnează informațiile despre toate coloanele din rezultat, ca tablou de obiecte.
  • mysqli_fetch_field_direct: Returnează informațiile despre coloana de la o anumită poziție din rezultat.
  • mysqli_field_seek: Mută cursorul de coloane, ca următorul mysqli_fetch_field să înceapă de la coloana dată.
  • mysqli_num_fields: Returnează numărul de coloane dintr-un rezultat.