Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Conexão Com Banco De Dados


Mário Miranda

Pergunta

5 respostass a esta questão

Posts Recomendados

  • 0

sim, use mysql_pconnect();

Do Manual PHP

mysql_pconnect

(PHP 3, PHP 4, PHP 5)

mysql_pconnect -- Abre uma conexão persistente com um servidor MySQL

Descrição

resource mysql_pconnect ( [string server [, string username [, string password [, int client_flags]]]] )

Retorna um identificador de link persistente ao MySQL em caso de sucesso, ou FALSE se houver erro.

mysql_pconnect() estabelece uma conexão com o servidor MySQL. Os seguintes padrões são assumidos para os parametros opcionais que estiverem faltando: server = 'localhost:3306', username = nome do usuário que for dono do processo do servidor e password = password vazio. O parametro client_flags pode ser uma combinação das constantes MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE ou MYSQL_CLIENT_INTERACTIVE.

O parametro server pode também incluir um numero de porta. Ex: "hostname:port" ou um caminho para um socket ex: ":/path/to/socket" para o localhost.

Nota: Suporte a ":port" foi adicionado em 3.0B4.

Suporte a ":/path/to/socket" foi adicionado em 3.0.10.

mysql_pconnect() aje muito parecido com mysql_connect() com duas maiores diferenças.

Primeira,ao conectar, a função primeiro irá tentar encontrar um conexão persistente que já esteja aberta com o mesmo servidor, nome de usuário e senha. Se uma é encontrada, um identificador para ela será retornada ao invés de abrir uma nova conexão.

Segundo, a conexão com o servidor SQL não será fechada quando termina a execução do script. Ao invés, a conexão continuará aberta para uso futuro(mysql_close() não irá fechar conexões abertas por mysql_pconnect()).

O parametro opcional client_flags tornou-se disponivel no PHP 4.3.0.

Este tipo de conexão é portanto chamada 'persistente'.

Nota: Note que este tipo de conexão funciona somente se você esta usando o PHP como módulo. Veja a seção Persistent Database Connections para maiores informações.

Atenção

Usar conexões persistentes pode requerer alguns ajustes na sua configuração do Apache e MySQL para assegurar que você não ultrapasse o limite de conexões permitidos pelo MySQL.

Outra parte do Manual:

Atenção 
Existem mais alguns cuidados a se tomar quando usando conexões persistentes. Um deles é que, quando usando travamento de tabela em uma conexão persistente, se o script por qualquer razão não pode destravar a mesma, então scripts subsequentes usando a mesma conexão serão bloqueados indefinidamente e pode ser preciso reiniciar o servidor http ou o banco de dados. Outro cuidado a se ter é, quando usando transações, um bloco de transação também será carregado para o próximo script que usar a conexão se a execução do script terminar primeiro que o bloco de transação. Em ambos os casos, você pode usar register_shutdown_function() para registrar uma função simples de limpeza para destravar suas tabelas e fazer roll back de suas transação. O ideal é evitar o problema completamente não usando conexões persistentes em scripts que usam travamento de tabelas ou transações (você ainda pode usar elas nos outros casos

Por isso é melhor fazer como o M@luco Belez@ falou.

Editado por itibere
Link para o comentário
Compartilhar em outros sites

  • 0

Mas Itibere, quando eu uso a conexão persistente, como eu faço para usa-la em outro script do site?

Porque meu problema hoje é o seguinte:

Eu tenho um servidor mysql...só que para abrir a conexão com ele é bem dificil...porque na hora de abrir demora muito...agora se eu conseguisse abrir a conexão e mante-la aberta para todos os outrs scripts já ajudaria pra caramba.

Tem como eu fazer isso?

Link para o comentário
Compartilhar em outros sites

  • 0

Da mesma forma que você usa a não pesrsistente, a diferença que na não persiste quando o script termia a conexão

é fechada, então toda vez que você executa um musql_connect() ele abre uma nova conexão. Com a conexçao persistente o fim do script não fecha a conexão, então da proxima vez que você usar o mysql_pconnect ele vai procurar por uma conexão se encontrar ele a usa e não abre outra.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...