nknk 3 Denunciar post Postado Outubro 9, 2008 Como faço para verificar se existe uma conexão aberta, no caso se tiver ele manda fechar todas que tiverem aberta. Compartilhar este post Link para o post Compartilhar em outros sites
Paulo de Tarso F. M. 24 Denunciar post Postado Outubro 9, 2008 Como normalmente a conexão ao Banco é armazenada em uma variável, por exemplo: $Conexao = mysql_connect('localhost', 'user', 'senha') or die('Não foi possível conectar: ' . mysql_error()); mysql_select_db('banco_de_dados') or die('Não foi possível selecionar o banco da dados');O que pode ser feito é:// Se a variável $Conexao estiver definida, isso significa que há uma conexão com o MySQL aberta. Então, feche-a. if(isset($Conexao)) mysql_close($Conexao); // Fechar a conexão com o Banco de DadosEu faço assim, nem sei se é o método mais adequado... http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Outubro 9, 2008 então, eu não armazeno minha conexões em variaveis pq acho q deve ser inseguro normalmente eu coloco @mysql_conect... a situação é que eu tenho páginas q não tem conexão então gostaria de colocar uma condição caso não tenha condição ou @mysql_close(); Só que eu não sei se é correto fechar uma conexão q não foi aberta. Compartilhar este post Link para o post Compartilhar em outros sites
WarLiKe 0 Denunciar post Postado Outubro 9, 2008 A única coisa que mysql_close() vai fazer se não tiver conexão aberta é dar um warning dizendo que não há conexão a fechar, portanto o @ ali já mata o assunto na minha opinião. Porque você acha que guardar a conexão numa variável não é seguro? Compartilhar este post Link para o post Compartilhar em outros sites
Diogo Lanna 0 Denunciar post Postado Outubro 10, 2008 cara, eu sei que o PHP fecha conexões ociosas, assim como nao sobrepoe conexoes identicas que ja estejam abertas .... Compartilhar este post Link para o post Compartilhar em outros sites
Paulo de Tarso F. M. 24 Denunciar post Postado Outubro 10, 2008 Também fiquei com essa dúvida, por que você acha que armazenar em uma variável não é seguro? E outra coisa, pessoal, esse jeito que eu passei está correto? Quer dizer, correto está porque funciona, mas ele está, digamos, coerente? :mellow: Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Outubro 10, 2008 Muitas vezes utilizamos nomes iguais para variaveis. Por exemplo $senha como sendo de um session depois você o campo com name senha. Então evito. Compartilhar este post Link para o post Compartilhar em outros sites
Diogo Lanna 0 Denunciar post Postado Outubro 10, 2008 Muitas vezes utilizamos nomes iguais para variaveis. Por exemplo $senha como sendo de um session depois você o campo com name senha. Então evito. pq diabos você criaria uma outra variavel no meio do script com nome de $conexao_db ???????????????? criar uma variavel que recebe uma conexao com nome de senha e f*** né ... você tem que regular seu jeito de trabalhar, todos os projetos existem variaveis que acabam sendo unicas por acusa da sua importancia ... eu nunca tentei isso, mas tem como atribuir uma conexao SQL em uma constante ? se tiver, pronto, faça isso.... nao tem como atribuir outro valor a constante mesmo... mas acho que é forçar a barra d+ Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Outubro 10, 2008 então, eu não armazeno minha conexões em variaveis pq acho q deve ser inseguro normalmente eu coloco @mysql_conect... a situação é que eu tenho páginas q não tem conexão então gostaria de colocar uma condição caso não tenha condição ou @mysql_close(); Só que eu não sei se é correto fechar uma conexão q não foi aberta. Nada haver... primeiro, colocando o @ na frente de suas funções, você está inibindo o erro ou aviso que a função trará, tem que programar dentro das regras para que não aja nenhum aviso e/ou erro no sistema, utilize variáveis, não tem problema algum em questão de segurança, se é você quem vai programar, logo não colocaria nome de variável igual, não ? Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Outubro 10, 2008 Nada haver... primeiro, colocando o @ na frente de suas funções, você está inibindo o erro ou aviso que a função trará, tem que programar dentro das regras para que não aja nenhum aviso e/ou erro no sistema, utilize variáveis, não tem problema algum em questão de segurança, se é você quem vai programar, logo não colocaria nome de variável igual, não ? Mas ai que tá, eu sugeri a arroba (@mysql_close) pq não foi dita nenhuma solução para este caso(fazer a condição de conexão aberta sem variavel). Eu teria q verificar alguns arquivos meus que fazem conexão com bancos de dados, colocar as variaveis e no final do script colocar um mysql_close para cada variável ou todas. Ao invés de ter este trabalho, a minha dúvida seria: q condição utilizaria para verificar se tem uma conexão aberta qualquer, e então fechar todas. pq diabos você criaria uma outra variavel no meio do script com nome de $conexao_db ???????????????? criar uma variavel que recebe uma conexao com nome de senha e f*** né ... você tem que regular seu jeito de trabalhar, todos os projetos existem variaveis que acabam sendo unicas por acusa da sua importancia ... eu nunca tentei isso, mas tem como atribuir uma conexao SQL em uma constante ? se tiver, pronto, faça isso.... nao tem como atribuir outro valor a constante mesmo... mas acho que é forçar a barra d+ Pq eu poderia ta fazendo uma conexão com outro banco de dados com a mesma variavél ($conexao). Eu citei um exemplo generico sobre a variavel senha. E já tive problemas com ela em session, na hora de ter um campo de formulario com o mesmo nome da variavel. Enfim, acho melhor colocar @mysql_close(); que vai fechar tudo. A questão da arroba é pq eu tenho páginas q não fazem conexão e tem um require("fechar_conexao.php"); Logo, a fim de evitar aquela mensagem de erro caso não tenha conexõa aberta eu colocaria a arroba. Compartilhar este post Link para o post Compartilhar em outros sites
FileasFogg 0 Denunciar post Postado Outubro 13, 2008 Kra, acho que se implementar o padrão Singleton, seus problemas acabam... Você vai trabalhar somente com uma conexão aberta por base de dados e quando quiser matar a conexão é só destruir o objeto. Abraços Compartilhar este post Link para o post Compartilhar em outros sites