Funções MySQL PHP

Introdução ao PHP MySQL

As funções MySQL permitem que você acesse o servidor de banco de dados MySQL.

Instalação

Para poder usar as funções deste classe sem problemas, é necessário adicionar suporte ao MySQL durante a compilação do PHP.

Basta usar a opção de configuração --with-mysql[=DIR] durante a compilação, onde [DIR] é opcional e aponta para o diretório de instalação do MySQL.

Embora esta biblioteca de extensão MySQL seja compatível com versões 4.1.0 e posteriores do MySQL, ela não suporta as funcionalidades adicionais fornecidas por essas versões. Para usar essas funcionalidades, use a biblioteca de extensão MySQLi.

Se você quiser instalar tanto a biblioteca de extensão mysql quanto a biblioteca de extensão mysqli, é necessário usar a mesma biblioteca de cliente para evitar qualquer conflito.

Instalação no sistema Linux

PHP 4

A opção --with-mysql está habilitada por padrão. Este comportamento padrão pode ser desativado usando a opção de configuração --without-mysql. Se o MySQL for habilitado sem especificar o diretório de instalação, o PHP usará a biblioteca de conexão do cliente MySQL vinculada.

Os usuários de outras aplicações que usam MySQL (por exemplo, auth-mysql) não devem usar a biblioteca vinculada, mas especificar o diretório de instalação do MySQL, como: --with-mysql=/caminho/para/mysql. Isso fará com que o PHP use a biblioteca de conexão do cliente instalada com o MySQL, evitando assim qualquer conflito.

PHP 5+

O MySQL padrão não está habilitado e não há biblioteca MySQL vinculada. Use a opção de configuração --with-mysql[=DIR] para adicionar suporte ao MySQL. Você pode MySQL Baixe os arquivos de cabeçalho e bibliotecas.

Instalação no sistema Windows

PHP 4

A extensão PHP MySQL já está compilada no PHP.

PHP 5+

O MySQL padrão não está habilitado, portanto, é necessário ativar a biblioteca de ligação dinâmica php_mysql.dll no php.ini. Além disso, o PHP precisa acessar a biblioteca de conexão do cliente MySQL. A versão Windows do PHP inclui um libmysql.dll, para que o PHP possa se comunicar com o MySQL, este arquivo deve estar no PATH do sistema do Windows.

Para ativar qualquer biblioteca de extensão PHP (por exemplo, php_mysql.dll), a instrução extension_dir deve ser configurada para o diretório da biblioteca de extensão PHP. Um exemplo de valor para extension_dir no PHP 5 é c:\php\ext.

Comentário:Se ao iniciar o servidor web aparecer um erro semelhante ao seguinte: "Unable to load dynamic library './php_mysql.dll'" isso é porque o sistema não encontra o php_mysql.dll e/ou libmysql.dll.

Configuração de Tempo de Execução

O comportamento das funções do MySQL é influenciado pelas configurações no php.ini.

Opções de configuração do MySQL:

Nome Padrão Descrição Modificável
mysql.allow_persistent "1" Se é permitido que conexões persistentes do MySQL. PHP_INI_SYSTEM
mysql.max_persistent "-1" Número máximo de conexões persistentes por processo. PHP_INI_SYSTEM
mysql.max_links "-1" Número máximo de conexões por processo, incluindo conexões persistentes. PHP_INI_SYSTEM
mysql.trace_mode "0" Modo de rastreamento. Disponível desde o PHP 4.3.0. PHP_INI_ALL
mysql.default_port NULL Porta TCP padrão para conexão de banco de dados. PHP_INI_ALL
mysql.default_socket NULL Nome do socket padrão. Disponível desde o PHP 4.0.1. PHP_INI_ALL
mysql.default_host NULL Endereço do servidor padrão. Não se aplica ao modo de segurança SQL. PHP_INI_ALL
mysql.default_user NULL Nome de usuário padrão usado. Não se aplica ao modo de segurança SQL. PHP_INI_ALL
mysql.default_password NULL Senha padrão usada. Não se aplica ao modo de segurança SQL. PHP_INI_ALL
mysql.connect_timeout "60" Segundos de timeout de conexão. PHP_INI_ALL

Tipo de Recurso

No MySQL módulo são usados dois tipos de recursos. O primeiro é o柄 de conexão do banco de dados, o segundo é o conjunto de resultados da consulta SQL.

Funções MySQL PHP

PHP:Indica a versão mais antiga do PHP que suporta essa função.

função Descrição PHP
mysql_affected_rows() Obtém o número de linhas de registro afetadas pela última operação MySQL. 3
mysql_change_user() Desaprovado. Muda o usuário ativo na conexão de login. 3
mysql_client_encoding() Retorna o nome do conjunto de caracteres da conexão atual. 4
mysql_close() Fecha uma conexão MySQL não persistente. 3
mysql_connect() Abre uma conexão MySQL não persistente. 3
mysql_create_db() Desaprovado. Cria um banco de dados MySQL. Use mysql_query() em vez disso. 3
mysql_data_seek() Move o ponteiro do registro. 3
mysql_db_name() Retorna o nome do banco de dados do chamada mysql_list_dbs(). 3
mysql_db_query()

Desaprovado. Envia uma consulta MySQL.

Use mysql_select_db() e mysql_query() em vez disso.

3
mysql_drop_db()

Desaprovado. Descarta (remove) um banco de dados MySQL.

Use mysql_query() em vez disso.

3
mysql_errno() Retorna o código numérico do erro da última operação MySQL. 3
mysql_error() Retorna a mensagem de erro de texto da última operação MySQL. 3
mysql_escape_string()

Desaprovado. Escapa uma string para mysql_query.

Use mysql_real_escape_string() em vez disso.

4
mysql_fetch_array() Obtém uma linha do conjunto de resultados como um array associativo, um array numérico ou ambos. 3
mysql_fetch_assoc() Obtém uma linha do conjunto de resultados como um array associativo. 4
mysql_fetch_field() Obtém informações de coluna do conjunto de resultados e retorna como um objeto. 3
mysql_fetch_lengths() Obtém o comprimento do conteúdo de cada campo no conjunto de resultados. 3
mysql_fetch_object() Obtém uma linha do conjunto de resultados como um objeto. 3
mysql_fetch_row() Obtém uma linha do conjunto de resultados como um array de números. 3
mysql_field_flags() Obtém o sinal associado ao campo especificado no resultado. 3
mysql_field_len() Retorna o comprimento do campo especificado. 3
mysql_field_name() Obter o nome do campo especificado na consulta. 3
mysql_field_seek() Definir o ponteiro da consulta para o deslocamento do campo especificado. 3
mysql_field_table() Obter o nome da tabela onde está o campo especificado. 3
mysql_field_type() Obter o tipo do campo especificado na consulta. 3
mysql_free_result() Liberar a memória da consulta. 3
mysql_get_client_info() Obter informações do cliente MySQL. 4
mysql_get_host_info() Obter informações do host MySQL. 4
mysql_get_proto_info() Obter informações do protocolo MySQL. 4
mysql_get_server_info() Obter informações do servidor MySQL. 4
mysql_info() Obter informações sobre a última consulta. 4
mysql_insert_id() Obter o ID gerado pela operação INSERT anterior. 3
mysql_list_dbs() Listar todos os bancos de dados no servidor MySQL. 3
mysql_list_fields()

Não recomendado. Listar os campos da consulta MySQL.

Use mysql_query() em vez disso.

3
mysql_list_processes() Listar os processos MySQL. 4
mysql_list_tables()

Não recomendado. Listar as tabelas no banco de dados MySQL.

Use mysql_query() em vez disso.

3
mysql_num_fields() Obter o número de campos na consulta. 3
mysql_num_rows() Obter o número de linhas na consulta. 3
mysql_pconnect() Abrir uma conexão persistente para o servidor MySQL. 3
mysql_ping() Pingar uma conexão de servidor, se não houver conexão, reconnectar. 4
mysql_query() Enviar uma consulta MySQL. 3
mysql_real_escape_string() Escapar caracteres especiais nas strings usadas em consultas SQL. 4
mysql_result() Obter os dados da consulta. 3
mysql_select_db() Escolher o banco de dados MySQL. 3
mysql_stat() Obter o estado atual do sistema. 4
mysql_tablename() Não recomendado. Obter o nome da tabela. Use mysql_query() em vez disso. 3
mysql_thread_id() Retorna o ID da thread atual. 4
mysql_unbuffered_query() Enviar uma consulta SQL para o MySQL (não obter / armazenar resultados). 4

Constantes MySQL PHP

A partir da versão 4.3.0 do PHP, permite especificar mais marcadores do cliente nas funções mysql_connect() e mysql_pconnect():

PHP:Indica a versão mais antiga do PHP que suporta essa constante.

Constantes Descrição PHP
MYSQL_CLIENT_COMPRESS Usa protocolo de comunicação comprimido. 4.3
MYSQL_CLIENT_IGNORE_SPACE Permite espaços em branco após o nome da função. 4.3
MYSQL_CLIENT_INTERACTIVE Tempo de inatividade de interação permitido antes de fechar a conexão. 4.3
MYSQL_CLIENT_SSL Uso de criptografia SSL (disponível apenas na versão 4+ da biblioteca do cliente MySQL). 4.3

A função mysql_fetch_array() usa uma constante para representar o tipo do array retornado:

Constantes Descrição PHP
MYSQL_ASSOC As colunas de dados retornadas usam nomes de campos como nomes de índices de arrays.  
MYSQL_BOTH As colunas de dados retornadas usam nomes de campos e índices numéricos como nomes de índices de arrays.  
MYSQL_NUM

As colunas de dados retornadas usam índices numéricos como nomes de índices de arrays.

Os índices começam em 0, representando o primeiro campo dos resultados retornados.