mysqli_close în PHP

Închide o conexiune MySQL deschisă cu mysqli_connect.

Sintaxă
mysqli_close(mysqli $mysql): true

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.