A extensão mysqli permite a você acessar a funcionalidade provida pelo MySQL 4.1 e posterior. Maiores informações sobre o servidor de banco de dados MySQL podem ser encontradas em » http://www.mysql.com/
Documentação para o MySQL pode ser encontrada em » http://dev.mysql.com/doc/.
Partes desta documentação foram incluídas do manual do MySQL com a permissão de MySQL AB.
Para ter esta funções disponíveis, você deverá compilar o PHP com suporte para a extensão mysqli.
Nota: A extensão mysqli foi criada para funcionar com a versão 4.1.3 ou posterior do MySQL. Para versões anteriores, por favor vejaa documentação da extensão MySQL.
Para instalar a extensão mysqli para o PHP, use a opção de configuração --with-mysqli=mysql_config_path/mysql_config aonde mysql_config_path representa a localização do programa mysql_config que vem com versões do MySQL maiores do que 4.1.
Se você quiser instalar a extensão mysql junto com a extensão mysqli você tem que usar a mesma biblioteca de cliente para previnir quaisquer conflitos.
O comportamento dessas funções podem ser modificado pelas configurações do php.ini.
Nome | Padrão | Modificável | Changelog |
---|---|---|---|
mysqli.max_links | "-1" | PHP_INI_SYSTEM | Disponível desde o PHP 5.0.0. |
mysqli.default_port | "3306" | PHP_INI_ALL | Disponível desde o PHP 5.0.0. |
mysqli.default_socket | NULL | PHP_INI_ALL | Disponível desde o PHP 5.0.0. |
mysqli.default_host | NULL | PHP_INI_ALL | Disponível desde o PHP 5.0.0. |
mysqli.default_user | NULL | PHP_INI_ALL | Disponível desde o PHP 5.0.0. |
mysqli.default_pw | NULL | PHP_INI_ALL | Disponível desde o PHP 5.0.0. |
Para maiores detalhes e definições das constantes PHP_INI_* acima, veja o capitulo sobre mudanças de configuração.
Breve descrição das diretivas de configuração.
O número máximo de conexões MySQL por processo.
O número da porta TCP padrão para usar ao conectar ao servidor de banco de dados se não for especificada outra porta. Se não for especificado um padrão, então a porta será obtida da variável de ambiênte MYSQL_TCP_PORT, a entrada mysql-tcp em /etc/services ou a constante em tempo de compilação MYSQL_PORT, nesta ordem. Em Win32 será usada apenas a constante MYSQL_PORT.
O nome padrão do socket para usar ao conectar com um servidor de banco de dados local, se não for especificado outro nome de socket.
O servidor padrão para usar ao conectar com o servidor de banco de dados se não for especificado um servidor. Não se aplica em safe mode.
O nome de usuário padrão para usar ao conectar com o servidor de banco de dados. Não se aplica em safe mode.
A senha padrão para usar ao conectar ao servidor de banco de dados se não for especificado outra senha. Não se aplica em safe mode.
Representa uma conexão entre o PHP e um banco de dados MySQL.
mysqli - constroi um novo objeto mysqli
autocommit - ativa ou desativa o salvar automaticamente as modificações no banco de dados
change_user - modifica o usuário da conexão com o banco de dados especficada
character_set_name - retorna o conjunto de caracteres padrão para a conexão com o banco de dados
close - fecha uma conexão aberta anteriormente
commit - grava a transação atual
connect - abre uma nova conexão com o servidor de banco de dados MySQL
debug - realiza operações de debug
dump_debug_info - mostra informações de debug
get_client_info - retorna a versão do cliente
get_host_info - retorna o tipo da conexão usada
get_server_info - retorna a versão do servidor MySQL
get_server_version - retorna a versão do servidor MySQL
init - inicia o objeto mysqli
info - retorna informação sobre a consulta mais recente executada
kill - diz ao servidor para matar uma thread do mysql
multi_query - executa multiplas consultas
more_results - confere se existem mais resultados na consulta multipla atual
next_result - lê o próximo resultado da consulta multipla atual
options - define opções
ping - pinga uma conexão com o servidor ou reconecta se não houver conexão
prepare - prepara uma consulta SQL
query - executa uma consulta
real_connect - tenta abrir uma conexão com o servidor de banco de dados MySQL
escape_string - escapa os caracteres especiais para usar em uma consulta SQL, levando em conta o conjunto de caracteres atual
rollback - desfaz a transação atual
select_db - define o banco de dados padrão
set_charset - define o conjunto de caracteres padrão do cliente
ssl_set - define parâmetros ssl
stat - retorna o estado atual do sistema
stmt_init - inicializa um comando para usar com mysqli_stmt_prepare
store_result - transfere um conjunto de resultados da ultima consulta
thread-safe - retorna quando thread safety é dado ou não
use_result - transfere um conjunto de resultados não guardado em buffer da ultima consulta
affected_rows - retorna o número de linhas afetadas pela operação MySQL anterior
client_info - retorna a versão do cliente MySQL como string
client_version - retorna a versão do cliente MySQL como inteiro
errno - retorna o código de erro da chamada de função mais recente
error - retorna a string de erro da chamada de função mais recente
field_count - retorna o número de colunas da consulta mais recente
host_info - retorna uma string representando o tipo de conexão usada
info - retorna informação sobre a consulta mais recente executada
insert_id - retorna o id gerado automaticamente usado na ultima consulta
protocol_version - retorna a versão usada do protocolo MySQL
server_info - retorna uma string que representa o número da versão do servidor
server_version - retorna o número da versão do servidor como um inteiro
sqlstate - retorna uma string contendo o código de erro SQLSTATE do ultimo erro
thread_id - retorna o thread ID da conexão atual
warning_count - retorna o número de warnings(avisos) gerados durante a execução da consulta SQL anterior
Representa um comando preparado.
bind_param - binds variables to a prepared statement
bind_result - binds variables to a prepared statement for result storage
close - fecha um comando preparado
data_seek - move para uma linha arbritária em um conjuto de resultads em um comando preparado
execute - Executa um comando preparado
fetch - obtém resultados de um comando preparado em variáveis
free_result - libera a memória do resultado de um comando preparado
prepare - prepara uma consulta SQL
reset - reseta uma prepared statement
result_metadata - retorna um conjunto de resultados de um comando preparado para informação de metadados
send_long_data - envia os dados em pedaços
store_result - guarda todo o conjunto de resultados de um comando preparado em buffer
affected_rows - retorna as linhas afetadas pela ultima consulta executada
errno - retorna o código de erro pela ultima função do comando
errno - retorna a mensagem de erro pela última função do comando
field_count - retorna o número de colunas de um conjunto de resultados
id - retorna o identificador do comando
insert_id - retorna o valor gerado para uma coluna AUTO_INCREMENT por prepared statement
num_rows - retorna o número de linhas de um conjunto de resultados
param_count - retorna o número de parâmetros para o comando preparado
sqlstate - retorna uma string contendo o código de erro SQLSTATE pela última função do comando
Representa o conjunto de resultados da consulta feit ao banco de dados.
fetch_array - retorna uma linha em uma matriz associativa, uma matriz numérica, ou ambas.
fetch_assoc - retorna uma linha do resultado como uma matriz associativa
fetch_field - retorna informação sobre uma coluna do conjunto de resulatdos
fetch_fields - retorna informação sobre todas as colunas do conjunto de resultados
fetch_field_direct - retorna informação da coluna especificada
fetch_object - retorna uma linha do resultado como um objeto
fetch_row - retorna uma linha do resultado como uma matriz numérica
field_seek - define o ponteiro do resultado para o índice de campo especificado
free_result - libera a memória usada
current_field - retorna o índice do campo atual
field_count - retorna o número de campos do conjunto de resultados
lengths - retorna uma matriz com os tamanhos das colunas
num_rows - retorna o número de linhas em um conjunto de resultados
type - retorna MYSQLI_STORE_RESULT ou MYSQLI_USE_RESULT
Nome | Descrição |
---|---|
MYSQLI_READ_DEFAULT_GROUP (integer) | Lê opções do grupo especificado apartir do arquivo `my.cnf' ou do arquivo especificado por MYSQLI_READ_DEFAULT_FILE |
MYSQLI_READ_DEFAULT_FILE (integer) | Lê opções apartir do arquivo indicado ao invés de my.cnf |
MYSQLI_OPT_CONNECT_TIMEOUT (integer) | Limite de tempo para conectar em segundos |
MYSQLI_OPT_LOCAL_INFILE (integer) | Ativa o comando LOAD LOCAL INFILE |
MYSQLI_INIT_COMMAND (integer) | Comando para executar ao conectar no servidor MySQL. Será automaticamente executado novamente ao reconectar. |
MYSQLI_CLIENT_SSL (integer) | Usar SSL (protocolo criptografado). Esta opção não deve ser definida por programas aplicativos; ela é definida internamente na biblioteca de cliente MySQL |
MYSQLI_CLIENT_COMPRESS (integer) | Usar o protocolo de compressão |
MYSQLI_CLIENT_INTERACTIVE (integer) | Permite interactive_timeout segundos (ao invés de wait_timeout segundo) de inatividade antes de fechar a conexão. A variável de sessão do cliente wait_timeout variable será definida com o valor da variável interactive_timeout. |
MYSQLI_CLIENT_IGNORE_SPACE (integer) | Permite espaçoes após os nomes de função. Torna todos os nomes de função palavras reservadas. |
MYSQLI_CLIENT_NO_SCHEMA (integer) | Não permite a sintaxe nome_bancodados.nome_tabela.nome_coluna |
MYSQLI_CLIENT_MULTI_QUERIES (integer) | |
MYSQLI_STORE_RESULT (integer) | Para usar conjuntos de resultados guardados em buffer |
MYSQLI_USE_RESULT (integer) | Para usar conjuntos de resultados não guardados em buffer |
MYSQLI_ASSOC (integer) | As colunas são retornadas em uma matriz tendo o nome dos campos como indices da matriz. |
MYSQLI_NUM (integer) | As colunas são retornadas em uma matriz tendo os índices numerados. |
MYSQLI_BOTH (integer) | As colunas são retornadas em uma matriz tendo ambos os índices, numérico e o nome do campo como índice associativo. |
MYSQLI_NOT_NULL_FLAG (integer) | Indica que um campo é definido como NOT NULL |
MYSQLI_PRI_KEY_FLAG (integer) | O campo é parte do índice primário |
MYSQLI_UNIQUE_KEY_FLAG (integer) | O campo é parte de um índice único. |
MYSQLI_MULTIPLE_KEY_FLAG (integer) | O campo é parte de um índice. |
MYSQLI_BLOB_FLAG (integer) | O campo é definido como BLOB |
MYSQLI_UNSIGNED_FLAG (integer) | O campo é definido como UNSIGNED |
MYSQLI_ZEROFILL_FLAG (integer) | O campo é definido como ZEROFILL |
MYSQLI_AUTO_INCREMENT_FLAG (integer) | O campo é definido como AUTO_INCREMENT |
MYSQLI_TIMESTAMP_FLAG (integer) | O campo é definido como TIMESTAMP |
MYSQLI_SET_FLAG (integer) | O campo é definido como SET |
MYSQLI_NUM_FLAG (integer) | O campo é definido como NUMERIC |
MYSQLI_PART_KEY_FLAG (integer) | O campo é parte de um índice múltiplo |
MYSQLI_GROUP_FLAG (integer) | O campo é parte de GROUP BY |
MYSQLI_TYPE_DECIMAL (integer) | O campo é definido como DECIMAL |
MYSQLI_TYPE_TINY (integer) | O campo é definido como TINYINT |
MYSQLI_TYPE_SHORT (integer) | O campo é definido como INT |
MYSQLI_TYPE_LONG (integer) | O campo é definido como INT |
MYSQLI_TYPE_FLOAT (integer) | O campo é definido como FLOAT |
MYSQLI_TYPE_DOUBLE (integer) | O campo é definido como DOUBLE |
MYSQLI_TYPE_NULL (integer) | O campo é definido como DEFAULT NULL |
MYSQLI_TYPE_TIMESTAMP (integer) | O campo é definido como TIMESTAMP |
MYSQLI_TYPE_LONGLONG (integer) | O campo é definido como BIGINT |
MYSQLI_TYPE_INT24 (integer) | O campo é definido como MEDIUMINT |
MYSQLI_TYPE_DATE (integer) | O campo é definido como DATE |
MYSQLI_TYPE_TIME (integer) | O campo é definido como TIME |
MYSQLI_TYPE_DATETIME (integer) | O campo é definido como DATETIME |
MYSQLI_TYPE_YEAR (integer) | O campo é definido como YEAR |
MYSQLI_TYPE_NEWDATE (integer) | O campo é definido como DATE |
MYSQLI_TYPE_ENUM (integer) | O campo é definido como ENUM |
MYSQLI_TYPE_SET (integer) | Field is defined as SET |
MYSQLI_TYPE_TINY_BLOB (integer) | Field is defined as TINYBLOB |
MYSQLI_TYPE_MEDIUM_BLOB (integer) | O campo é definido como MEDIUMBLOB |
MYSQLI_TYPE_LONG_BLOB (integer) | O campo é definido como LONGBLOB |
MYSQLI_TYPE_BLOB (integer) | O campo é definido como BLOB |
MYSQLI_TYPE_STRING (integer) | O campo é definido como VARCHAR |
MYSQLI_TYPE_CHAR (integer) | O campo é definido como CHAR |
MYSQLI_TYPE_GEOMETRY (integer) | O campo é definido como GEOMETRY |
MYSQLI_NEED_DATA (integer) | More data available for bind variable |
MYSQLI_NO_DATA (integer) | No more data available for bind variable |
Todos os exemplos na documentação MySQLI usam o banco de dados world da MySQL AB. O banco de dados world pode ser encontrado em » http://dev.mysql.com/get/Downloads/Manual/world.sql.gz/from/pick