Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ebotega

[Resolvido] Conexão mysqli, abriu... tem que fechar?

Recommended Posts

Pessoal... dúvida simples e talvez besta...

 

Abri uma conexão com mysqli_connect()... preciso fechá-la ao final do meu código com mysqli_close()?

Não estou usando nenhuma classe de conexão que abre, faz a consulta e fecha a conexão, então preciso fechá-la a cada consulta que fizer ou ao final do código que traz no início um include do arquivo que faz a conexão com o banco?

 

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala ebotega,

 

Se bem me lembro e não me engano, utilizando os comandos mysqli_connect / mysql_connect você abre uma conexão simples, que é automaticamente fechada no fim da da execução do seu script. Existem configurações do mysql para manter a conexão viva por mais tempo (conexão persistente), mas aí são outros quinhentos.

 

Caso você queira explicitamente abrir uma conexão persistente, existem os comandos mysqli_pconnect / mysql_pconnect. Novamente, se não me engano, estas não tem como fechar no script.

A conexão se mantém aberta até o servidor mysql fechá-la.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois é cara... justamente isso, também li em alguns artigos que o mysqli, e o mysql também, fecha a conexão "automaticamente", mas gostaria de confirmar com quem já usa algum tempo o mysqli sem classes de conexão que "fazem tudo".

Compartilhar este post


Link para o post
Compartilhar em outros sites

De acordo com o php.net:

 

mysql_close

"Usar mysql_close() não é normalmente necessário, já que as conexões não persistentes são automaticamente fechadas ao final da execução do script. Veja também liberando recursos."

 

mysqli_close

Apesar de não estar escrito na documentação em si, existe um pequeno debate nos comentários que se encerra com o seguinte post:

win at alinto dot com 21-May-2008 09:52

There's nothing here about connexions automatically claused at the end of a script. About that, a little note from devzone.zend.com :

 

"Open connections (and similar resources) are automatically destroyed at the end of script execution. However, you should still close or free all connections, result sets and statement handles as soon as they are no longer required. This will help return resources to PHP and MySQL faster."

 

Pela minha experiencia, realmente as conexões são fechadas automaticamente. Mas como é enfatizado nos dois casos, você deve levar em consideração os recursos do servidor da aplicação e do banco para decidir se deve usar conexões persistentes ou fechá-las sempre.

 

Já vivenciei casos em que a conexão persistente me salvou e outros q ela acabou com a minha aplicação.

Varia de sistema para sistema, configuração para configuração e de hardware para hardware.

 

Enfim, tentando resumir o meu bla bla bla: Sim. O normal é a conexão ser fechada automaticamente.

 

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.