Ce face mysqli_stmt_result_metadata
Rezultatul este un mysqli_result fără date, pe care folosești mysqli_fetch_fields sau mysqli_num_fields ca să afli numele și tipurile coloanelor. Este util când vrei să construiești dinamic variabilele pentru mysqli_stmt_bind_result.
Parametri
| Parametru | Descriere |
|---|---|
$statement |
Interogarea pregătită. |
Ce returnează
Un mysqli_result cu informațiile despre coloane sau false dacă interogarea nu întoarce rânduri.
Exemple
Exemplul 1: Numele coloanelor înainte de execuție
<?php
$conn = mysqli_connect("localhost", "ana", "parola_ta", "magazin");
$stmt = mysqli_prepare($conn, "SELECT id, nume, pret * 1.21 AS pret_tva FROM produse");
$meta = mysqli_stmt_result_metadata($stmt);
foreach (mysqli_fetch_fields($meta) as $coloana) {
echo $coloana->name . "\n";
}
var_dump(mysqli_stmt_result_metadata(mysqli_prepare($conn, "DELETE FROM produse WHERE id = ?")));
Rezultat (cu un server MySQL și tabelul produse de mai sus)
id
nume
pret_tva
bool(false)
Greșeli frecvente
- Încerci să citești rânduri din rezultatul acestei funcții. Conține doar descrierea coloanelor; rândurile vin după execuție.
Comenzi înrudite
mysqli_fetch_fields: Returnează informațiile despre toate coloanele din rezultat, ca tablou de obiecte.mysqli_stmt_field_count: Returnează numărul de coloane din rezultatul unei interogări pregătite (0 pentru INSERT, UPDATE, DELETE).mysqli_stmt_bind_result: Leagă variabile de coloanele rezultatului unei interogări pregătite; mysqli_stmt_fetch le completează rând cu rând.