La extensi贸n mysqli permite acceder a la funcionalidad proveida por MySQL 4.1 y superior. M谩s informaci贸n acerca del servidor de base de datos MySQL puede ser encontrada en http://www.mysql.com/
La documentaci贸n para MySQL puede ser encontrada en http://dev.mysql.com/doc/.
Partes de esta documentaci贸n ha sido incluida del manual de MySQL con permiso de MySQL AB.
Para tener estas funciones disponibles, usted debe compilar PHP con soporte para la extensi贸n MySQLI.
Nota: La extensi贸n mysqli est谩 dise帽ada para trabajar con la versi贸n 4.1.3 o superior de MySQL. Para versiones previas, por favor vea documentaci贸n de la extensi贸n MySQL.
Para instalar la extensi贸n de mysqli para PHP, use la opci贸n de configuraci贸n --with-mysqli=mysql_config_path/mysql_config donde mysql_config_path representa la ubicaci贸n del programa mysql_config que viene con MySQL en versiones superiores a 4.1.
Si quiere instalar la extensi贸n de mysql junto con la extensi贸n mysqli, usted tiene que usar la mismas librerias cliente, para evitar cualquier conflicto.
El comportamiento de estas funciones est谩 afectado por los valores definidos en php.ini.
Tabla 1. Opciones de configuraci贸n de MySQLi
| Nombre | Default | Cambiable | Changelog |
|---|---|---|---|
| mysqli.max_links | "-1" | PHP_INI_SYSTEM | Available since PPH 5.0.0. |
| mysqli.default_port | 3306 | PHP_INI_ALL | Available since PPH 5.0.0. |
| mysqli.default_socket | NULL | PHP_INI_ALL | Available since PPH 5.0.0. |
| mysqli.default_host | NULL | PHP_INI_ALL | Available since PPH 5.0.0. |
| mysqli.default_user | NULL | PHP_INI_ALL | Available since PPH 5.0.0. |
| mysqli.default_pw | NULL | PHP_INI_ALL | Available since PPH 5.0.0. |
Para m谩s detalles y definiciones de las constantes PHP_INI_* anteriores, vea el cap铆tulo sobre Cambios de configuraci贸n.
A continuaci贸n se presenta una corta explicaci贸n de las directivas de configuraci贸n.
El n煤mero m谩ximo de conexiones MySQL por proceso.
El puerto TCP por defecto a usar cuando se conecte al servidor de base de datos si no se ha espec铆ficado otro puerto. Si no se define el default, el puerto ser谩 tomado de la variable de ambiente MYSQL_TCP_PORT, la entrada mysql-tcp en el archivo /etc/services o la constante en tiempo de ejecuci贸n MYSQL_PORT en ese orden. Win32 usar谩 solo la constante MYSQL_PORT.
El nombre de socket por defecto a usar cuando se conecte a un servidor de base de datos local si no se ha espec铆ficado otro nombre de socket.
El servidor hu茅sped por defecto a usar cuando se conecta al servidor de base de datos si no se ha espec铆ficado otro. No aplica en modo seguro.
El nombre de usuario por defecto a usar cuando se conecta al servidor de base de datos si no se espec铆fica otro nombre. No aplica en modo seguro.
La contrase帽a a usar cuando se conecta al servidor de base de datos si no se espec铆fica otra contrase帽a. No aplica en modo seguro.
Representa una conexi贸n entres PHP y la base de datos MySQL.
mysqli - constructor de un nuevo objeto mysqli
autocommit - cambia en on o off las modificaciones de auto-commiting en la base de datos
change_user - cambia el usuario del identificador de enlace espec铆ficado
character_set_name - regresa el conjunto de caracteres del identificador de enlace espec铆ficado
close - cierra una conexi贸n previamente abierta
commit - completa la transacci贸 actual
connect - abre una nueva conexi贸n al servidor de MySQL
debug - realiza operaciones de rastreo
dump_debug_info - vac铆a informaci贸 de rastreo
get_client_info - regresa la versi贸n del cliente
get_host_info - regresa el tipo de conexi贸n usada
get_server_info - regresa la versi贸n del servidor MySQL
get_server_version - regresa la versi贸n del servidor MySQL
init - inicializa el objeto mysqli
info - obtiene informaci贸n acerca de la consulta m谩s recientemente ejecutada
kill - solicita al servidor destruir un thread de mysql
multi_query - realiza consultas de SQL m煤ltiples
more_results - checa si existen mas resultados de la consulta m煤ltiple actualmente ejecutada
next_result - lee el siguiente resultado de la consulta m煤ltiple actualmente ejecutada
options - fija opciones
ping - llama una conexi贸n con el servidor o reconecta si no hay conexi贸n
prepare - prepara una sentencia SQL
query - ejecuta una sentencia SQL
real_connect - intenta abrir una conexi贸n al servidor de base de datos MySQL
escape_string - caracteres especiales de escape para ser usados en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexi贸n
rollback - deshace la transacci贸n actual
select_db - selecciona la base de datos por defecto
ssl_set - fija los par谩metros SSL
stat - obtiene el estado actual del sistema
stmt_init - inicializa una sentencia para ser usada con mysqli_stmt_prepare
store_result - transfiere un resultado de la 煤ltima consulta
use_result - transfiere un resultado sin almacenamiento intermedio de la 煤ltima consulta
thread_safe - regresa si se ha dado thread_safety o no
affected_rows - obtiene el n煤mero de filas afectadas en la operaci贸n MySQL previa
client_info - regresa en una cadena la versi贸n del cliente de MySQL
client_version - regresa en un entero la versi贸n del cliente de MySQL
errno - regresa el c贸digo de error para la llamada a funci贸n m谩s reciente
error - regresa la cadena de error para la llamada a funci贸n m谩s reciente
field_count - regresa el n煤mero de columnas para la consulta m谩s reciente
host_info - regresa la cadena representando el tipo de conexi贸n usado
info - regresa informaci贸n acerca de la consulta ejecutada m谩s recientemente
insert_id - regresa el identificador generado autom谩ticamente usado en la 煤ltima consulta
protocol_version - regresa la versi贸n del protocolo usado por MySQL
sqlstate - regresa una cadena que contiene el c贸digo de error SQLSTATE para el 煤ltimo error
thread_id - regresa el identificador del THREAD para la conexi贸n actual
warning_count - regresa el n煤mero de alertas generadas durante la ejecuci贸n del enunciado SQL previo
Representa una sentencia preparada.
bind_param - enlaza variables a una sentencia preparada
bind_result - enlaza variables a una sentencia preparada para el almacenamiento del resultado
close - cierra la sentencia preparada
data_seek - busca a una fila arbitrariamente en el resultado
execute - ejecuta una sentencia preparada
fetch - obtiene el resultado de la sentencia preparada en variables l铆mite
free_result - libera la memoria del resultado almacenado para el manejador de la sentencia dada
result_metadata - obtiene un resultado de la sentencia preparada para informaci贸n de metadatos
prepare - prepara una consulta SQL
send_long_data - env铆a datos en partes
reset - resetea una sentencia preparada
store_result - almacena el resultado completo de la sentencia preparada
affected_rows - regresa las filas afectadas de la 煤ltima sentencia ejecutdada
errno - regresa el c贸digo de error para la llamada a funci贸n m谩s reciente
error - regresa el mensaje de error para la llamada a funci贸n m谩s reciente
param_count - regresa el numero de par谩metros para la sentencia preparada dada
sqlstate - regresa una cadena conteniendo el c贸digo de error SQLSTATE para la llamada a funci贸n m谩s reciente
Representa el resultado obtenido de la consulta hecha en la base de datos.
close - cierra el resultado
data_seek - mueve el puntero interno del resultado
fetch_field - obtiene la informaci贸n de la columna en el resultado
fetch_fields - obtiene la informaci贸n para todas las columnas del resultado
fetch_field_direct - obtiene informaci贸n de la columna para la columna dada
fetch_array - recupera una fila como una matriz asociativa, una matriz num茅rica, o ambos.
fetch_assoc - obtiene una fuka como una matriz asociativa
fetch_object - obtiene una fila como un objeto
fetch_row - obtiene una fila como una matriz enumerada
close - libera la memoria ocupada por el resultado
field_seek - fija el apuntador del resultado a la posici贸n espec铆ficada
current_field - regresa la posici贸n de puntero actual
field_count - regresa el n煤mero de campos en el resultado
lengths - regresa una matriz con la longitud de los campos
num_rows - regresa el n煤mero de filas en el resultado
Tabla 2. Constantes MySQLi
| Nombre | Descripci贸n |
|---|---|
| MYSQLI_READ_DEFAULT_GROUP (integer) | Lee las opciones del grupo llamado de `my.cnf' o la fila especificada con MYSQLI_READ_DEFAULT_FILE |
| MYSQLI_READ_DEFAULT_FILE (integer) | Lee las opciones del archivo espec铆ficado en vez de my.cnf |
| MYSQLI_OPT_CONNECT_TIMEOUT (integer) | Tiempo de espera para la conexi贸n en segundos |
| MYSQLI_OPT_LOCAL_INFILE (integer) | Habilita el comando LOAD LOCAL INFILE |
| MYSQLI_INIT_COMMAND (integer) | Comando a ejecutar cuando se conecta al servidor MySQL. Ser谩 autom谩ticamente re-ejecutado cuando se vuelva a conectar. |
| MYSQLI_CLIENT_SSL (integer) | Usa SSL (protocolo de encripci贸n). Esta opci贸n no debe ser fijado por programas de apliaci贸n; esta es fijada internamente en la libreria cliente de MySQL |
| MYSQLI_CLIENT_COMPRESS (integer) | Usa el protocolo de compresi贸n |
| MYSQLI_CLIENT_INTERACTIVE (integer) | Permite tiempo de espera interactivo en segundos (en vez de esperar ciertos segundos) de inactividad antes de cerrar la conexi贸n. La variable wait_timeout de sesi贸n del cliente ser谩 fijada a el valor de la variable de sesi贸n interactive_timeout. |
| MYSQLI_CLIENT_IGNORE_SPACE (integer) | Permite espacios despu茅s de los nombres de las funciones. Esto hace a todas las funciones palabras reservadas. |
| MYSQLI_CLIENT_NO_SCHEMA (integer) | No permite la sintaxis db_name.tbl_name.col_name syntax. |
| MYSQLI_CLIENT_MULTI_QUERIES (integer) | |
| MYSQLI_STORE_RESULT (integer) | Para usar resultados con almacenamiento intermedio |
| MYSQLI_USE_RESULT (integer) | Para usar resultados sin almacenamiento intermedio |
| MYSQLI_ASSOC (integer) | Las columnas son regresadas en una matriz que tiene el nombre del campo como 铆ndice de la matriz. |
| MYSQLI_NUM (integer) | Las columnas son regresadas en una matriz teniendo un 铆ndice enumerado. |
| MYSQLI_BOTH (integer) | Las clumnas son regresadas en una matriz teniendo ambas formas de 铆ndice num茅rico y con el nombre del campo como 铆ndice asociativo. |
| MYSQLI_NOT_NULL_FLAG (integer) | Indica que un campo es definido como NOT NULL |
| MYSQLI_PRI_KEY_FLAG (integer) | El campo es parte de un 铆ndice primario |
| MYSQLI_UNIQUE_KEY_FLAG (integer) | El campo es parte de un 铆ndice 煤nico |
| MYSQLI_MULTIPLE_KEY_FLAG (integer) | El campo es parte de un 铆ndice. |
| MYSQLI_BLOB_FLAG (integer) | El campo est谩 definido como BLOB |
| MYSQLI_UNSIGNED_FLAG (integer) | El campo est谩 definido como UNSIGNED |
| MYSQLI_ZEROFILL_FLAG (integer) | El campo est谩 definido como ZEROFILL |
| MYSQLI_AUTO_INCREMENT_FLAG (integer) | El campo est谩 definido como AUTO_INCREMENT |
| MYSQLI_TIMESTAMP_FLAG (integer) | El campo est谩 definido como TIMESTAMP |
| MYSQLI_SET_FLAG (integer) | El campo est谩 definido como SET |
| MYSQLI_NUM_FLAG (integer) | El campo est谩 definido como NUMERIC |
| MYSQLI_PART_KEY_FLAG (integer) | El campo es parte de un 铆ndice multiple |
| MYSQLI_GROUP_FLAG (integer) | El campo es parte de GROUP BY |
| MYSQLI_TYPE_DECIMAL (integer) | El campo est谩 definido como DECIMAL |
| MYSQLI_TYPE_TINY (integer) | El campo est谩 definido como TINYINT |
| MYSQLI_TYPE_SHORT (integer) | El campo est谩 definido como INT |
| MYSQLI_TYPE_LONG (integer) | El campo est谩 definido como INT |
| MYSQLI_TYPE_FLOAT (integer) | El campo est谩 definido como FLOAT |
| MYSQLI_TYPE_DOUBLE (integer) | El campo est谩 definido como DOUBLE |
| MYSQLI_TYPE_NULL (integer) | El campo est谩 definido como DEFAULT NULL |
| MYSQLI_TYPE_TIMESTAMP (integer) | El campo est谩 definido como TIMESTAMP |
| MYSQLI_TYPE_LONGLONG (integer) | El campo est谩 definido como BIGINT |
| MYSQLI_TYPE_INT24 (integer) | El campo est谩 definido como MEDIUMINT |
| MYSQLI_TYPE_DATE (integer) | El campo est谩 definido como DATE |
| MYSQLI_TYPE_TIME (integer) | El campo est谩 definido como TIME |
| MYSQLI_TYPE_DATETIME (integer) | El campo est谩 definido como DATETIME |
| MYSQLI_TYPE_YEAR (integer) | El campo est谩 definido como YEAR |
| MYSQLI_TYPE_NEWDATE (integer) | El campo est谩 definido como DATE |
| MYSQLI_TYPE_ENUM (integer) | El campo est谩 definido como ENUM |
| MYSQLI_TYPE_SET (integer) | El campo est谩 definido como SET |
| MYSQLI_TYPE_TINY_BLOB (integer) | El campo est谩 definido como TINYBLOB |
| MYSQLI_TYPE_MEDIUM_BLOB (integer) | El campo est谩 definido como MEDIUMBLOB |
| MYSQLI_TYPE_LONG_BLOB (integer) | El campo est谩 definido como LONGBLOB |
| MYSQLI_TYPE_BLOB (integer) | El campo est谩 definido como BLOB |
| MYSQLI_TYPE_VAR_STRING (integer) | El campo est谩 definido como VARCHAR |
| MYSQLI_TYPE_STRING (integer) | El campo est谩 definido como CHAR |
| MYSQLI_TYPE_GEOMETRY (integer) | El campo est谩 definido como GEOMETRY |
| MYSQLI_NEED_DATA (integer) | Obtiene m谩s informaci贸n para varibles enlazadas (bind) |
| MYSQLI_NO_DATA (integer) | No obtiene m谩s informaci贸n para variables enlazadas (bind) |
Todos los ejemplos en la documentaci贸n MySQLI usan la base de datos de MySQL AB. Puede ser encontrada en http://dev.mysql.com/get/Downloads/Manual/world.sql.gz/from/pick