Ce face mysqli_fetch_field_direct
Spre deosebire de mysqli_fetch_field, care merge pe rând, mysqli_fetch_field_direct sare direct la coloana cerută (0 este prima) și nu mută cursorul de coloane.
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. |
$index |
Poziția coloanei, de la 0. |
Ce returnează
Un obiect cu informațiile despre coloană sau false dacă poziția nu există.
Exemple
Exemplul 1: A doua coloană
<?php
$conn = mysqli_connect("localhost", "ana", "parola_ta", "magazin");
$rezultat = mysqli_query($conn, "SELECT id, nume, pret FROM produse");
$coloana = mysqli_fetch_field_direct($rezultat, 1);
echo "$coloana->name, lungime maximă $coloana->length octeți\n";
var_dump($coloana->type === MYSQLI_TYPE_VAR_STRING);
Rezultat (cu un server MySQL și tabelul produse de mai sus)
nume, lungime maximă 400 octeți
bool(true)
Greșeli frecvente
- Dai o poziție inexistentă. Din PHP 8 primești
ValueError; verifică întâi cumysqli_num_fields.
Comenzi înrudite
mysqli_fetch_field: Returnează informațiile despre următoarea coloană din rezultat: nume, tabel, tip, lungime.mysqli_fetch_fields: Returnează informațiile despre toate coloanele din rezultat, ca tablou de obiecte.mysqli_num_fields: Returnează numărul de coloane dintr-un rezultat.