I've had situations where database connections appeared to persist following php execution. So, now, my __destructor function explicitly contains a $cxn->close(). It hurts nothing, and helps avoid memory leaks.
(PHP 5, PHP 7, PHP 8)
mysqli::close -- mysqli_close — Fecha uma conexão ao banco de dados previamente aberta
Estilo orientado a objetos
Estilo procedural
Fecha uma conexão ao banco de dados previamente aberta.
Conexões MySQL não persistentes e conjuntos de resultados são automaticamente fechados quando seus objetos são destruídos. Fechar as conexões e liberar os conjuntos de resultados explicitamente é opcional. Entretanto, é uma boa prática fechar a conexão assim que o script termina de executar todas as suas operações de banco de dados, se ele ainda tiver muito processamento a realizar depois de obter os resultados.
mysql
Somente no estilo procedural: Um objeto mysqli retornado por mysqli_connect() ou mysqli_init()
Sempre retorna true
.
Versão | Descrição |
---|---|
8.0.0 |
Esta função sempre retorna true . Anteriormente retornava false em caso de falha.
|
Exemplo #1 Exemplo de mysqli::close()
Estilo orientado a objetos
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "meu_usuario", "minha_senha", "mundo");
$result = $mysqli->query("SELECT Nome, CodigoPais FROM Cidade ORDER BY ID LIMIT 3");
/* Fecha a conexão assim que não for mais necessária */
$mysqli->close();
foreach ($result as $row) {
/* Processando os dados obtidos do banco */
}
Estilo procedural
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "meu_usuario", "minha_senha", "mundo");
$result = mysqli_query($mysqli, "SELECT Nome, CodigoPais FROM Cidade ORDER BY ID LIMIT 3");
/* Fecha a conexão assim que não for mais necessária */
mysqli_close($mysqli);
foreach ($result as $row) {
/* Processando os dados obtidos do banco */
}
Nota:
mysqli_close() não fechará conexões persistentes. Para detalhes adicionais, consulte a página do manual sobre conexões persistentes.
I've had situations where database connections appeared to persist following php execution. So, now, my __destructor function explicitly contains a $cxn->close(). It hurts nothing, and helps avoid memory leaks.