Ce face mysqli_stmt_free_result
Interogarea pregătită rămâne utilizabilă: o poți executa din nou cu alte valori. Doar rândurile din memorie sunt șterse. Este util într-o buclă care execută aceeași interogare de multe ori.
Parametri
| Parametru | Descriere |
|---|---|
$statement |
Interogarea pregătită. |
Ce returnează
Nimic.
Exemple
Exemplul 1: Eliberare între execuții
<?php
$conn = mysqli_connect("localhost", "ana", "parola_ta", "magazin");
$stmt = mysqli_prepare($conn, "SELECT id FROM produse WHERE stoc >= ?");
foreach ([1, 20, 100] as $minim) {
mysqli_stmt_bind_param($stmt, "i", $minim);
mysqli_stmt_execute($stmt);
mysqli_stmt_store_result($stmt);
echo "Produse cu stoc >= $minim: " . mysqli_stmt_num_rows($stmt) . "\n";
mysqli_stmt_free_result($stmt);
}
Rezultat (cu un server MySQL și tabelul produse de mai sus)
Produse cu stoc >= 1: 3
Produse cu stoc >= 20: 1
Produse cu stoc >= 100: 0
Greșeli frecvente
- Confunzi
mysqli_stmt_free_resultcumysqli_stmt_close. După close, interogarea nu mai poate fi folosită.
Comenzi înrudite
mysqli_stmt_store_result: Aduce în memorie tot rezultatul unei interogări pregătite, ca să poți afla numărul de rânduri și să sari între ele.mysqli_close: Închide o conexiune MySQL deschisă cu mysqli_connect.mysqli_stmt_reset: Resetează o interogare pregătită: renunță la rândurile necitite și la datele trimise cu send_long_data.