Conexão com Mysql não encerra!
Olá pessoal,
Para facilitar eu criei 3 funções.
- conexao
- InsertDB
- UpdateDB
a conexao faz uma conexão com o banco de dados, as outras pegam elas e fazer uma inserção ou um update no banco de dados, sendo que eu só fornece uma array assim.
minha função conexao está assim.
Bom, tudo funciona perfeitamente, as funções InsertDB e UpdateDB sempre pegar a conexão que está na função conexao, ai que mora o problema, assim todas as vezes abre uma conexão nova e não consigo fechar ela, depois de algum tempo recebo a mensagem de erro dizendo que há várias conexões abertas, ai meu sistema todo para, e tenho que solicitar que reiniciem o servidor, alguém tem uma dica de como posso fechar essas conexões?
Para facilitar eu criei 3 funções.
- conexao
- InsertDB
- UpdateDB
a conexao faz uma conexão com o banco de dados, as outras pegam elas e fazer uma inserção ou um update no banco de dados, sendo que eu só fornece uma array assim.
$arrayName = array( 'nome' => $_POST['nome'], 'username' => $_POST['username'], ); InsertDB($arrayName,'user_admin')
minha função conexao está assim.
function conexao(){
$var = array('host' => HOST,'usuario' => USER,'senha' => PASSWORD,'dbname' => BD,);
$opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8');
try {
@$con = new PDO("mysql:host=".$var['host'].";dbname=".$var['dbname'],$var['usuario'],$var['senha'], $opcoes);
return $con;
} catch(PDOException $e){
echo $e->getMessage();
die();
}
}Bom, tudo funciona perfeitamente, as funções InsertDB e UpdateDB sempre pegar a conexão que está na função conexao, ai que mora o problema, assim todas as vezes abre uma conexão nova e não consigo fechar ela, depois de algum tempo recebo a mensagem de erro dizendo que há várias conexões abertas, ai meu sistema todo para, e tenho que solicitar que reiniciem o servidor, alguém tem uma dica de como posso fechar essas conexões?
Cleyton Caetano
Curtidas 0
Respostas
William
05/05/2016
Trabalhe com pattern singleton:
http://www.devwilliam.com.br/php/pdo-conexao-seguindo-singleton-php
Evite programar em PHP usando "@" para esconder erros!
http://www.devwilliam.com.br/php/pdo-conexao-seguindo-singleton-php
Evite programar em PHP usando "@" para esconder erros!
GOSTEI 0
Cleyton Caetano
05/05/2016
Trabalhe com pattern singleton:
http://www.devwilliam.com.br/php/pdo-conexao-seguindo-singleton-php
Evite programar em PHP usando "@" para esconder erros!
http://www.devwilliam.com.br/php/pdo-conexao-seguindo-singleton-php
Evite programar em PHP usando "@" para esconder erros!
Comecei a trabalhar nesse padrão e se encaixou perfeitamente ao meu sistema, obrigada William!
GOSTEI 0
Marcio Araujo
05/05/2016
Mas não demora muito para encerrar William?
GOSTEI 0
William
05/05/2016
No PHP não tem problema Márcio.
GOSTEI 0
Marcio Araujo
05/05/2016
Ah ok, obrigado.
GOSTEI 0
Marcio Araujo
05/05/2016
Ah ok, obrigado.
GOSTEI 0