Estas funções permitem acessar os servidores de banco de dados do MYSQL. Maiores informações podem ser encontradas em http://www.mysql.com/.
Documentação para MySQL pode ser encontrada em http://dev.mysql.com/doc/.
Para ter estas funções disponiveis, você deve compilar o PHP com suporte a MySQL.
Usando a opção de configuração --with-mysql[=DIR] você ativa o PHP para acessar banco de dados MySQL.
No PHP 4, a opção --with-mysql esta ativada por padrão. Para disativar este padrão, você deve usar a opção de configuração --without-mysql. Também no PHP 4, se você ativar o MySQL sem especificar o caminho para o diretório de instalação do MySQL, o PHP irá usar as bibliotecas de cliente que vem com ele. No Windows não existe DLL, ele simplesmente esta dentro do PHP 4. Usuarios que utilizam outras aplicações que usam o MySQL (por exemplo auth-mysql), não devem utiliar a biblioteca que acompanha o PHP, mas especificar o caminho para o diretório de instalação do MySQL, assim evitando qualquer conflito.
No PHP 5, o MySQL não esta mais ativado por padrão, nem há mais a biblioteca que acompanha o PHP. Leia este FAQ para detalhes sobre o motivo.
Esta extensão MySQL não suporta toda a funcionalidade das versões do MySQL posteriores a 4.1.0. Para isso, use MySQLi.
Se você quiser instalar a extensão mysql em conjunto com a extensão mysqli você deve usar a mesma biblioteca de cliente para previnir quaisquer conflitos.
Atenção |
Quebras e problemas de inicialização do PHP podem ser encontrados quando carrega-se esta extensão em conjunto com a extensão recode. Veja a extensão recode para maiores informações. |
Nota: Se você precisa de conjuntos de caracteres diferentes do latin (padrão), você tem que instalar uma libmysql externa (não a que acompanha o PHP) com suporte ao conjunto de caracteres.
O comportamento dessas funções podem ser modificado pelas configurações do php.ini.
Tabela 1. Opções de configuração do MySQL
Nome | Padrão | Modificável |
---|---|---|
mysql.allow_persistent | "On" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL |
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "0" | PHP_INI_SYSTEM |
Breve descrição das diretivas de configuração.
Quando permitir conexões persistentes para o MySQL.
O número máximo de conexões persistentes com o MySQL por processo.
O número maximo de conexões com o MYSQL por processo, incluindo conexões persistentes.
O número padrão da porta TCP a usar quando conectar com o servidor do banco de dados se nenhuma outra porta for especificada. Se nenhum padrão for especificado, aporta será obtida da variavel de ambiente MYSQL_TCP_PORT, da entrada mysql-tcp em /etc/services ou da constante da compilação MYSQL_PORT, nesta ordem. Windows irá usar somente a constante MYSQL_PORT.
O nome padrão do socket para usar quando conectar com um servidor de banco de dados local se outro nome de socket não for especificado.
O servidor padrão para usar quando conectar com um servidor de banco de dados se outro servidor não for encontrado. Não se aplica em safe mode.
O nome padrão de usuário para conectar ao servidor de banco de dados se outro nome não for especificado. Não se aplica em safe mode.
A senha padrão para usar ao conectar ao servidor de banco de dados se outra senha não for especificada. Não se aplica em safe mode.
Limite de tempo da conexão em segundos. No Linux este limite é também usado para a espera da primeira resposta do servidor.
Há dois tipos de recursos usados no modulo MySql. O primeiro é a identificação do link da conexão com o banco de dados, o segundo é o que guarda o resultado de uma query.
As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.
Desde PHP 4.3.0 é possivel especificar opções adicionais para as funções mysql_connect() and mysql_pconnect() As seguintes constantes são definidas:
Tabela 2. Constante do cliente MySQL
Constante | Descrição |
---|---|
MYSQL_CLIENT_COMPRESS | Usa o protocolo de compressão |
MYSQL_CLIENT_IGNORE_SPACE | Permite espaço após o nome de função |
MYSQL_CLIENT_INTERACTIVE | Permite interactive_timeout segundos (ao inves de wait_timeout) de inatividade antes de fechar a conexão. |
A função mysql_fetch_array() usa uma constante para cada diferentes tipos de matrizes de resultado. As seguintes constantes são definidas:
Tabela 3. MySQL fetch constants
Constante | Descrição |
---|---|
MYSQL_ASSOC | As colunas são retornadas na matriz tendo o nome do campo como índice da matriz. |
MYSQL_BOTH | As colunas são retornadas na matriz tendo ambos os indices: um numérico e o um com o nome do campo. |
MYSQL_NUM | As colunas são retornadas numa matriz tendo um indice numérico dos campos. Este indice começa com 0, o primeiro campo no resultado. |
Este exemplo simples mostra como conectar, executar uma query, mostrar o resultado e desconectar do banco de dados do MySQL.