Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Conexão Com Banco De Dados


Mário Miranda
 Share

Question

5 answers to this question

Recommended Posts

  • 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 [email protected] [email protected] falou.

Edited by itibere
Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.1k
    • Total Posts
      647.1k
×
×
  • Create New...