Ce face mysqli_close
mysqli_close închide conexiunea și eliberează resursele de pe server. După închidere, conexiunea nu mai poate fi folosită.
PHP închide automat conexiunile la sfârșitul scriptului, deci într-o pagină web obișnuită apelul nu este obligatoriu. Este util în scripturile care rulează mult (importuri, cozi de procesare), ca să nu ții conexiuni deschise degeaba. Rezultatele mari pot fi eliberate separat cu mysqli_free_result.
Parametri
| Parametru | Descriere |
|---|---|
$mysql |
Conexiunea de închis. |
Ce returnează
Întotdeauna true.
Exemple
Exemplul 1: Închiderea după un import
<?php
$conn = mysqli_connect("localhost", "ana", "parola_ta", "magazin");
$rezultat = mysqli_query($conn, "SELECT COUNT(*) AS total FROM produse");
echo "Produse: " . mysqli_fetch_assoc($rezultat)["total"] . "\n";
mysqli_free_result($rezultat);
var_dump(mysqli_close($conn));
Rezultat (cu un server MySQL și tabelul produse de mai sus)
Produse: 4
bool(true)
Exemplul 2: Conexiunea nu mai poate fi folosită
<?php
$conn = mysqli_connect("localhost", "ana", "parola_ta", "magazin");
mysqli_close($conn);
try {
mysqli_query($conn, "SELECT 1");
} catch (Error $e) {
echo $e->getMessage();
}
Rezultat (cu un server MySQL și tabelul produse de mai sus)
mysqli object is already closed
Greșeli frecvente
- Închizi conexiunea într-o funcție, apoi o folosești în altă parte a paginii. Primești eroarea
mysqli object is already closed. Închide conexiunea o singură dată, la final. - Deschizi și închizi o conexiune nouă pentru fiecare interogare. Conectarea este lentă; folosește aceeași conexiune pe toată durata scriptului.
Comenzi înrudite
mysqli_connect: Deschide o conexiune la un server MySQL sau MariaDB și returnează obiectul conexiunii.mysqli_query: Trimite o interogare SQL către baza de date. Pentru SELECT returnează un rezultat din care citești rândurile.