mysql php5.pdf

51
Manual de PHP Anterior Siguiente XCVIII. Funciones MySQL Introducción Estas funciones le permiten acceder a servidores de bases de datos MySQL. Puede encontrar más información sobre MySQL en http://www.mysql.com/ . La documentación de MySQL puede encontrarse en http://dev.mysql.com/doc/ . Requisitos Para contar con éstas funciones, debe compilar PHP con soporte MySQL. Instalación Para la compilación, simplemente use la opción de configuración --with-mysql[=DIR], en donde el valor opcional [DIR] apunta al directorio de instalación de MySQL. Aunque esta extensión de MySQL es compatible con MySQL 4.1.0 y posteriores, no soporta la funcionalidad extra que tales versiones ofrecen. Para eso, use la extensión MySQLi . Si quisiera instalar la extensión mysql junto con la extensión mysqli, debe usar la misma biblioteca de cliente para evitar cualquier conflicto. Instalación en Sistemas Linux PHP 4 La opción --with-mysql está habilitada por defecto. Para desactivar este comportamiento predeterminado, usted puede usar la opción de configuración --without-mysql. Si se habilita MySQL sin especificar el directorio de instalación de MySQL, PHP usará las bibliotecas de cliente de MySQL incorporadas. Los usuarios que ejecutan otras aplicaciones que usan MySQL (auth-mysql, por ejemplo) no deberían usar la biblioteca incorporada, en su lugar deben especificar la ruta al directorio de instalación de MySQL, de este modo: --with-mysql=/ruta/hacia/mysql. Esto obligará a PHP a usar las bibliotecas de cliente instaladas por MySQL, para así evitar cualquier conflicto. PHP 5+ El soporte para MySQL no se encuentra habilitado por defecto, ni lo está la biblioteca incorporada con PHP. Lea este FAQ para conocer los detalles del porqué. Use la opción de configuración --with-mysql[=DIR] para incluir el soporte para MySQL. Es posible descargar las cabeceras y bibliotecas desde MySQL . Instalación en Sistemas Windows PHP 4 La extensión MySQL de PHP es compilada en PHP. PHP 5+ El soporte para MySQL ya no es habilitado por defecto, así que el DLL php_mysql.dll DLL debe habilitarse al Página 1 de 51 Funciones MySQL 03/09/2012 file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Upload: aleix-collado-serrano

Post on 17-Feb-2015

158 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: MYSQL PHP5.pdf

Manual de PHP

Anterior Siguiente

XCVIII. Funciones MySQL

Introducción

Estas funciones le permiten acceder a servidores de bases de datos MySQL. Puede encontrar más información sobre MySQL en http://www.mysql.com/.

La documentación de MySQL puede encontrarse en http://dev.mysql.com/doc/.

Requisitos

Para contar con éstas funciones, debe compilar PHP con soporte MySQL.

Instalación

Para la compilación, simplemente use la opción de configuración --with-mysql[=DIR], en donde el valor

opcional [DIR] apunta al directorio de instalación de MySQL.

Aunque esta extensión de MySQL es compatible con MySQL 4.1.0 y posteriores, no soporta la funcionalidad extra que tales versiones ofrecen. Para eso, use la extensión MySQLi.

Si quisiera instalar la extensión mysql junto con la extensión mysqli, debe usar la misma biblioteca de cliente para evitar cualquier conflicto.

Instalación en Sistemas Linux

PHP 4

La opción --with-mysql está habilitada por defecto. Para desactivar este comportamiento predeterminado, usted

puede usar la opción de configuración --without-mysql. Si se habilita MySQL sin especificar el directorio de

instalación de MySQL, PHP usará las bibliotecas de cliente de MySQL incorporadas.

Los usuarios que ejecutan otras aplicaciones que usan MySQL (auth-mysql, por ejemplo) no deberían usar la biblioteca incorporada, en su lugar deben especificar la ruta al directorio de instalación de MySQL, de este modo: --with-mysql=/ruta/hacia/mysql. Esto obligará a PHP a usar las bibliotecas de cliente instaladas por

MySQL, para así evitar cualquier conflicto.

PHP 5+

El soporte para MySQL no se encuentra habilitado por defecto, ni lo está la biblioteca incorporada con PHP. Lea este FAQ para conocer los detalles del porqué. Use la opción de configuración --with-mysql[=DIR] para

incluir el soporte para MySQL. Es posible descargar las cabeceras y bibliotecas desde MySQL.

Instalación en Sistemas Windows

PHP 4

La extensión MySQL de PHP es compilada en PHP.

PHP 5+

El soporte para MySQL ya no es habilitado por defecto, así que el DLL php_mysql.dll DLL debe habilitarse al

Página 1 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 2: MYSQL PHP5.pdf

interior de php.ini. Asimismo, PHP necesita acceder a la biblioteca de cliente MySQL. Un archivo de nombre

libmysql.dll es incluido en la distribución de PHP en Windows, y para que PHP se comunique con MySQL,

este archivo necesita estar disponible en la ruta PATH de los sistemas Windows. Vea la entrada del FAQ titulada

"Cómo agrego mi directorio PHP a la ruta PATH en Windows" para más información sobre cómo hacerlo. Aunque copiar libmysql.dll al directorio de sistema de Windows también funciona (ya que el directorio de

sistema es parte del PATH del sistema por defecto), tal acción no es recomendada.

Al igual que ocurre con cualquier otra extensión (como php_mysql.dll), la directiva de PHP extension_dir debe

definirse con el directorio en donde están ubicadas las extensiones PHP. Vea también las Instrucciones de Instalación Manual en Windows. Un valor de ejemplo de extension_dir para PHP 5 es c:\php\ext

Nota: Si al iniciar el servidor web un error similar al siguiente ocurre: "Unable to load dynamic

library './php_mysql.dll'", se debe a que php_mysql.dll o libmysql.dll no pueden

encontrarse por el sistema.

MySQL Installation Notes

Nota: Si necesita juegos de caracteres diferentes a latin (el juego por defecto), tendrá que instalar una biblioteca de mysql externa (no incorporada) que haya sido compilada con soporte para los juegos de caracteres.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de Configuración MySQL

For further details and definitions of the PHP_INI_* constants, see the Apéndice H.

A continuación se presenta una corta explicación de las directivas de configuración.

mysql.allow_persistent boolean

Indica si se permiten conexiones persistentes con MySQL.

mysql.max_persistent integer

El número máximo de conexiones persistentes con MySQL por proceso.

Aviso

Pueden encontrarse problemas de inicialización y bloqueos de PHP cuando esta extensión es cargada en conjunto con la extensión recode. Consulte sobre la extensión recode para más información.

NombrePor

defectoModificable Cambios

mysql.allow_persistent "1" PHP_INI_SYSTEM

mysql.max_persistent "-1" PHP_INI_SYSTEM

mysql.max_links "-1" PHP_INI_SYSTEM

mysql.trace_mode "0" PHP_INI_ALL Disponible desde PHP 4.3.0.

mysql.default_port NULL PHP_INI_ALL

mysql.default_socket NULL PHP_INI_ALL Disponible desde PHP 4.0.1.

mysql.default_host NULL PHP_INI_ALL

mysql.default_user NULL PHP_INI_ALL

mysql.default_password NULL PHP_INI_ALL

mysql.connect_timeout "60" PHP_INI_ALLPHP_INI_SYSTEM en PHP <= 4.3.2. Disponible desde PHP 4.3.0.

Página 2 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 3: MYSQL PHP5.pdf

mysql.max_links integer

El número máximo de conexiones con MySQL por proceso, incluyendo conexiones persistentes.

mysql.trace_mode boolean

Modo de rastreo. Cuando se habilita mysql.trace_mode, se muestran advertencias para la apertura de

tablas/índices, conjuntos de resultados no liberados, y errores SQL. (Se introdujo en PHP 4.3.0)

mysql.default_port string

El número de puerto TCP predeterminado para usar cuando se conecta con el servidor de bases de datos, si no se indica otro. Si no se indica un valor predeterminado, el puerto se obtendrá de la variable de entornoMYSQL_TCP_PORT, la entrada mysql-tcp en /etc/services o la constante de tiempo de compilación

MYSQL_PORT, en ese orden. En Win32 sólo se usa la constante MYSQL_PORT.

mysql.default_socket string

El nombre de socket predeterminado a ser usado cuando se realicen conexiones con un servidor de base de datos local, si no se indica algún otro.

mysql.default_host string

La máquina anfitriona predeterminada a ser usada cuando se realicen conexiones con un servidor de bases de datos, si no se indica otro valor. No es aplicable en SQL safe mode.

mysql.default_user string

El nombre de usuario prodeterminado para conectarse al servidor de bases de datos si no se indica otro. No es aplicable bajo SQL safe mode.

mysql.default_password string

La contraseña predeterminada a usar cuando se realicen conexiones con el servidor de bases de datos, si no se indica otro valor. No es aplicable en SQL safe mode.

mysql.connect_timeout integer

Tiempo de espera máximo de conexión, en segundos. Bajo Linux este tiempo de espera es usado también cuando se espera la primera respuesta del servidor.

Tipos de recursos

Hay dos tipos de recursos usados en el módulo MySQL. El primero es el identificador de enlace para una conexión de base de datos, el segundo es un recurso que almacena el resultado de una consulta.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido obien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

A partir de PHP 4.3.0, es posible especificar banderas de cliente adicionales para las funciones mysql_connect()y mysql_pconnect(). Las siguientes constantes están definidas:

Tabla 2. Constantes de cliente MySQL

Constante Descripción

MYSQL_CLIENT_COMPRESS Usar protocolo de compresión

Página 3 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 4: MYSQL PHP5.pdf

La función mysql_fetch_array() usa una constante para los diferentes tipos de matrices de resultado. Las siguientes constantes están definidas:

Tabla 3. Constantes MySQL-fetch

Notes

Nota: La mayoría de funciones de MySQL aceptan identificador_enlace como último

parámetro opcional. Si no es definido, se utiliza la última conexión abierta. Si no existe, se intenta establecer una conexión con los parámetros predeterminados definidos en php.ini. Si no tiene

éxito, las funciones devuelven FALSE.

Ejemplos

Este sencillo ejemplo muestra cómo conectarse, ejecutar una consulta, imprimir las filas resultantes ydesconectarse de una base de datos MySQL.

MYSQL_CLIENT_IGNORE_SPACE Permitir espacios después de nombres de funciones

MYSQL_CLIENT_INTERACTIVEPermitir tantos segundos de inactividad como indique interactive_timeout (en lugar de wait_timeout) antes de cerrar laconexión

MYSQL_CLIENT_SSL

Usar encripción SSL. Esta bandera se encuentra disponible únicamente con la versión 4.x o más reciente de la biblioteca cliente de MySQL. La versión 3.23.x se distribuye tanto con PHP 4 como con los binarios deWindows de PHP 5.

Constante Descripción

MYSQL_ASSOC Las columnas son devueltas en la matriz usando el nombre del campo como índice.

MYSQL_BOTHLas columnas son devueltas en la matriz teniendo tanto un índice numérico como un índice correspondiente al nombre del campo.

MYSQL_NUMLas columnas son devueltas en la matriz teniendo un índice numérico a los campos. Este índice comienza en 0, el primer campo del resultado.

Ejemplo 1. Ejemplo general de la extensión MySQL

<?php// Conexion, seleccion de base de datos$enlace = mysql_connect('host_mysql', 'usuario_mysql', 'contrasenya_mysql') or die('No pudo conectarse : ' . mysql_error());echo 'Conexi&oacute;n exitosa';mysql_select_db('mi_base_de_datos') or die('No pudo seleccionarse la BD.');

// Realizar una consulta SQL$consulta = 'SELECT * FROM mi_tabla';$resultado = mysql_query($consulta) or die('La consulta fall&oacute;: ' . mysql_error());

// Impresion de resultados en HTMLecho "<table>\n";while ($linea = mysql_fetch_array($resultado, MYSQL_ASSOC)) { echo "\t<tr>\n"; foreach ($linea as $valor_col) { echo "\t\t<td>$valor_col</td>\n"; } echo "\t</tr>\n";}echo "</table>\n";

// Liberar conjunto de resultadosmysql_free_result($resultado);

// Cerrar la conexionmysql_close($enlace);

Página 4 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 5: MYSQL PHP5.pdf

Tabla de contenidosmysql_affected_rows -- Devuelve el número de filas afectadas de la última operación MySQL mysql_change_user -- Cambia el usuario conectado en la conexión activa mysql_client_encoding -- Devuelve el nombre del juego de caracteresmysql_close -- cierra el enlace con MySQLmysql_connect -- Abre una conexión a un servidor MySQLmysql_create_db -- Crea una base MySQLmysql_data_seek -- Mueve el puntero internomysql_db_name -- Obtener datos de resultadomysql_db_query -- Envia una sentencia MySQL al servidormysql_drop_db -- Borra una base de datos MySQLmysql_errno -- Deuelve el número del mensaje de error de la última operación MySQLmysql_error -- Devuelve el texto del mensaje de error de la última operación MySQLmysql_escape_string -- Escapa una cadena para su uso en mysql_querymysql_fetch_array -- Extrae la fila de resultado como una matriz asociativa, una matriz numérica o ambas mysql_fetch_assoc -- Recupera una fila de resultado como una matriz asociativamysql_fetch_field -- Extrae la información de una columna y la devuelve como un objeto.mysql_fetch_lengths -- Devuelve la longitud de cada salida en un resultado mysql_fetch_object -- Extrae una fila de resultado como un objetomysql_fetch_row -- Devuelve una fila de resultado como matrizmysql_field_flags -- Devuelve las banderas asociados con el campo específicado en un resultado mysql_field_len -- Devuelve la longitud del campo específicado mysql_field_name -- Devuelve el nombre del campo específicado en un resultado mysql_field_seek -- Asigna el puntero del resultado al offset del campo específicado mysql_field_table -- Devuelve el nombre de la tabla donde está el campo específicado mysql_field_type -- Devuelve el tipo del campo específicado en un resultado mysql_free_result -- Libera la memoria del resultadomysql_get_client_info -- Obtener información del cliente MySQLmysql_get_host_info -- Obtener información de la máquina anfitriona MySQLmysql_get_proto_info -- Obtener información del protocolo MySQLmysql_get_server_info -- Obtener información del servidor MySQLmysql_info -- Obtiene información sobre la consulta más recientemysql_insert_id -- Devuelve el identificador generado en la última llamada a INSERT mysql_list_dbs -- Lista las bases de datos disponibles en el servidor MySQL mysql_list_fields -- Lista los campos del resultado de MySQLmysql_list_processes -- Lista los procesos MySQLmysql_list_tables -- Lista las tablas en una base de datos MySQLmysql_num_fields -- devuelve el número de campos de un resultadomysql_num_rows -- Devuelve el número de filas de un resultadomysql_pconnect -- Abre una conexión persistente al servidor MySQL mysql_ping -- Efectuar un chequeo de respuesta (ping) sobre una conexión de servidor o reconectarse si no hay conexiónmysql_query -- Envía una consulta de MySQLmysql_real_escape_string -- Escapa caracteres especiales de una cadena para su uso en una sentencia SQLmysql_result -- Devuelve datos de un resultadomysql_select_db -- Selecciona un base de datos MySQLmysql_stat -- Obtener el status actual del sistemamysql_tablename -- Devuelve el nombre de la tabla de un campomysql_thread_id -- Devuelve el ID del hilo actualmysql_unbuffered_query -- Envía una consulta SQL a MySQL, sin recuperar ni colocar en búfer las filas deresultado

?>

Anterior Inicio Siguiente

muscat_setup Subir mysql_affected_rows

Manual de PHP

Anterior Siguiente

Página 5 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 6: MYSQL PHP5.pdf

mysql_affected_rows

(PHP 3, PHP 4, PHP 5)

mysql_affected_rows -- Devuelve el número de filas afectadas de la última operación MySQL

Descripción

int mysql_affected_rows ( [int identificador_de_enlace] )

mysql_affected_rows() devuelve el número de filas afectadas en la ultima sentencia INSERT, UPDATE o DELETE sobre el servidor asociado con el identificador_de_enlace especificado. Si el identificador de

enlace no ha sido especificado, se asume por defecto el último enlace.

Nota: Si está usando transacciones, necesitará llamar mysql_affected_rows() después del INSERT, UPDATE, o DELETE, no después del commit.

Si la última sentencia fue un DELETE sin clausula WHERE, todos los registros han sido borrados de la tabla pero esta función devolvera cero.

Nota: Cuando se usa UPDATE, MySQL no actualizará las columnas donde el nuevo valor es el mismo al actual. Esto crea la posibilidad de que mysql_affected_rows() pueda no ser igual al número de filas encontradas, solo el número de filas que fueron literalmente afectadas por la sentencia.

La sentencia REPLACE primero borra el registro con la misma llave principal y entonces inserta el nuevo registro. Esta función regresa el número de registros borrados más el número de registros insertados.

Para obtener el número de fils regresadas por un SELECT, es posible usar también mysql_num_rows().

Si la última consulta falló, esta función regresará -1. Ejemplo 1. Delete-Query

El ejemplo anterior prducirá la siguiente salida:

<?php/* connect to database */$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}mysql_select_db('mydb');

/* this should return the correct numbers of deleted records */mysql_query('DELETE FROM mytable WHERE id < 10');printf("Records deleted: %d\n", mysql_affected_rows());

/* with a where clause that is never true, it should return 0 */mysql_query('DELETE FROM mytable WHERE 0');printf("Records deleted: %d\n", mysql_affected_rows());?>

Records deleted: 10Records deleted: 0

Ejemplo 2. Update-Query

<?php/* connect to database */mysql_connect("localhost", "mysql_user", "mysql_password") or

Página 6 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 7: MYSQL PHP5.pdf

Vea también mysql_num_rows(), mysql_info().

El ejemplo anterior prducirá la siguiente salida:

die("Could not connect: " . mysql_error());mysql_select_db("mydb");

/* Update records */mysql_query("UPDATE mytable SET used=1 WHERE id < 10");printf ("Updated records: %d\n", mysql_affected_rows());mysql_query("COMMIT");?>

Updated Records: 10

Anterior Inicio Siguiente

Funciones MySQL Subir mysql_change_user

Manual de PHP

Anterior Siguiente

mysql_change_user

(PHP 3 >= 3.0.13)

mysql_change_user -- Cambia el usuario conectado en la conexión activa

Descripción

int mysql_change_user ( cadena usuario, cadena password [, cadena base_de_datos [, int identificador_de_enlace]] )

mysql_change_user() cambia el usuario conectado en la actual conexión activa, o si se específica, en la conexión determinada por el identificador_de_enlace opcional. Si se específica la base de datos, ésta será la

base por defecto después del cambio de usuario. Si la nueva combinación de usuario/password no estáautorizada, el usuario actualmente conectado permanece activo.

Nota: Esta función es obsoleta y solo está disponible en PHP 3 y requiere MySQL 3.23.3 o superior.

Anterior Inicio Siguiente

mysql_affected_rows Subir mysql_client_encoding

Manual de PHP

Anterior Siguiente

mysql_client_encoding

(PHP 4 >= 4.3.0, PHP 5)

mysql_client_encoding -- Devuelve el nombre del juego de caracteres

Descripción

string mysql_client_encoding ( [resource id_enlace] )

Recupera la variable character_set de MySQL.

Página 7 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 8: MYSQL PHP5.pdf

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Devuelve el nombre del juego de caracteres predeterminado para la conexión actual.

Ejemplos

Ver también

Ejemplo 1. Ejemplo de mysql_client_encoding()

El resultado del ejemplo seria algo similar a:

<?php$enlace = mysql_connect('localhost', 'mysql_user', 'mysql_password');$juego_cars = mysql_client_encoding($enlace);

echo "El juego de caracteres actual es: $juego_cars\n";?>

El juego de caracteres actual es: latin1

mysql_real_escape_string()

Anterior Inicio Siguiente

mysql_change_user Subir mysql_close

Manual de PHP

Anterior Siguiente

mysql_close

(PHP 3, PHP 4, PHP 5)

mysql_close -- cierra el enlace con MySQL

Descripción

int mysql_close ( [int identificador_de_enlace] )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

mysql_close() cierra el enlace con la base MySQL que esta asociada con el identificador de enlace específicado.Si no se específica el identificador de enlace, se asume por defecto el último enlace.

Nota: Normalmente no es necesario ya que la aperturas no-persistentes son cerradas automaticamente al final de la ejecución del script. Vea tambié liberar recursos.

Página 8 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 9: MYSQL PHP5.pdf

mysql_close() no cerrará los enlaces persistentes generados con mysql_pconnect().

Ver también: mysql_connect(), mysql_pconnect().

Ejemplo 1. Ejemplo de MySQL close

<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);?>

Anterior Inicio Siguiente

mysql_client_encoding Subir mysql_connect

Manual de PHP

Anterior Siguiente

mysql_connect

(PHP 3, PHP 4, PHP 5)

mysql_connect -- Abre una conexión a un servidor MySQL

Descripción

int mysql_connect ( [cadena hostname [, cadena usuario [, cadena password [, bool new_link [, int client_flags]]]]] )

Devuelve: Un identificador de enlace positivo si tiene exito, o falso si error.

mysql_connect()establece una conexión a un servidor MySQL. Todos los argumentos son opcionales, y si no hay, se asumen los valores por defecto ('localhost', usuario propietario del proceso del servidor, password vacío).

El hostname puede incluir tambien un número de puerto . ej. "hostname:puerto" o un camino al socket ej.

":/camino/al/socket" para localhost.

Nota: Siempre que específicque "localhost" o "localhost:port" como servidor, la libreria cliente de MySQL evitará esto y tratará de conectarse a socket local (nombrado pipe en Windows). Si quiere usar TCP/IP, use "127.0.0.1" en vez de "localhost". Si las librerias cliente de MySQL intentan conectarse a un socket local equivocado, debe fijar la trayectoria como mysql.default_host en el archivo de configuración PHP y dejar el campo del servidor en blanco.

Soporte para ":puerto" fue añadido en PHP 3.0B4.

Soporte para ":/camino/al/socket" fue añadido en PHP 3.0.10.

Puede suprimir el mensaje de error en caso de falla anteponiendo una @ al nombre de la funci n.

Si se hace una segunda llamada a mysql_connect() con los mismos argumentos, no se abrirá nuevo enlace, en lugar de eso, se regresa el identificador de enlace ya abierto. El parámetro new_link modifica este

comportamiento y hace que mysql_connect() siempre abrir un nuevo enlace, aún si mysql_connect() había sido llamado antes con los mismos parámetros. El pará client_flags puede ser una combinación de las constantes:

MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE o MYSQL_CLIENT_INTERACTIVE.

Nota: El parámetro new_link estuvo disponible en PHP 4.2.0

Página 9 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 10: MYSQL PHP5.pdf

El parámetro client_flags estuvo disponible en PHP 4.3.0

El enlace al servidor sera cerrado tan pronto como la ejecución del script finalice, a menos que se cierre antesexplícitamente llamando a mysql_close().

Ver también : mysql_pconnect(), mysql_close().

Ejemplo 1. Ejemplo de MySQL connect

<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);?>

Anterior Inicio Siguiente

mysql_close Subir mysql_create_db

Manual de PHP

Anterior Siguiente

mysql_create_db

(PHP 3, PHP 4, PHP 5)

mysql_create_db -- Crea una base MySQL

Descripción

int mysql_create_db ( cadena base_de_datos [, int identificador_de_enlace] )

mysql_create_db() intenta crear una base nueva en el servidor asociado al identificador de enlace.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Por razones de compatibilidad puede usarse mysql_createdb() igualmente.

Nota: La función mysql_create_db() es obsoleta. Es preferible usar mysql_query() para ejecutar una sentencia SQL CREATE DATABASE en su lugar.

Ejemplo 1. Ejemplo de MySQL create

<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}

if (mysql_create_db('my_db')) { echo "Database created successfully\n";} else { echo 'Error creating database: ' . mysql_error() . "\n";}?>

Aviso

Página 10 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 11: MYSQL PHP5.pdf

Ver también: mysql_query().

Esta función no será disponible y la extensión de MySQL fue construida/compilada en una libreria de cliente de MySQL 4.X.

Anterior Inicio Siguiente

mysql_connect Subir mysql_data_seek

Manual de PHP

Anterior Siguiente

mysql_data_seek

(PHP 3, PHP 4, PHP 5)

mysql_data_seek -- Mueve el puntero interno

Descripción

int mysql_data_seek ( int id_resultado, int numero_de_fila )

mysql_data_seek() mueve el puntero de fila interno a la fila específicada para el identificador de resultado. La próxima llamada a mysql_fetch_row() devolverá esa fila.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

numero_de_fila empieza en . El numero_de_fila debe ser un valor dentro del rango de o a mysql_num_rows

() - 1. Sin embargo si el resultado está vacío (mysql_num_rows() == 0), una búsqueda a 0 fallará con E_WARNING y mysql_data_seek() regresará FALSE.

Nota: La función mysql_data_seek() puede ser usada solo en conjunto con mysql_query(), no con mysql_unbuffered_query().

Ejemplo 1. Ejemplo de MySQL data seek

<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}$db_selected = mysql_select_db('sample_db');if (!$db_selected) { die('Could not select database: ' . mysql_error());}$query = 'SELECT last_name, first_name FROM friends';$result = mysql_query($query);if (!$result) { die('Query failed: ' . mysql_error());}/* fetch rows in reverse order */for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) { if (!mysql_data_seek($result, $i)) { echo "Cannot seek to row $i: " . mysql_error() . "\n"; continue; }

if (!($row = mysql_fetch_assoc($result))) { continue; }

echo $row['last_name'] . ' ' . $row['first_name'] . "<br />\n";}

Página 11 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 12: MYSQL PHP5.pdf

Vea también mysql_query(), mysql_num_rows(), mysql_fetch_row(), mysql_fetch_assoc(), mysql_fetch_array(), y mysql_fetch_object().

mysql_free_result($result);?>

Anterior Inicio Siguiente

mysql_create_db Subir mysql_db_name

Manual de PHP

Anterior Siguiente

mysql_db_name

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

mysql_db_name -- Obtener datos de resultado

Descripción

string mysql_db_name ( resource resultado, int fila [, mixed campo] )

Recupera el nombre de la base de datos desde una llamada a mysql_list_dbs().

Lista de parámetros

resultado

El apuntador de resultado de una llamada a mysql_list_dbs().

fila

El índice en el conjunto de resultados.

campo

El nombre del campo.

Valores retornados

Devuelve el nombre de la base de datos en caso de tener éxito, y FALSE si ocurre un error. Si se devuelve FALSE,

use mysql_error() para determinar la naturaleza del error.

Ejemplos

Ejemplo 1. Ejemplo de mysql_db_name()

<?phperror_reporting(E_ALL);

$enlace = mysql_connect('dbhost', 'nombre_usuario', 'contrasenya');$lista_db = mysql_list_dbs($enlace);

$i = 0;$cnt = mysql_num_rows($lista_db);while ($i < $cnt) { echo mysql_db_name($lista_db, $i) . "\n";

Página 12 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 13: MYSQL PHP5.pdf

Notes

Nota: For downward compatibility, the following deprecated alias may be used: mysql_dbname()

Ver también

$i++;

}

?>

mysql_list_dbs()

mysql_tablename()

Anterior Inicio Siguiente

mysql_data_seek Subir mysql_db_query

Manual de PHP

Anterior Siguiente

mysql_db_query

(PHP 3, PHP 4, PHP 5)

mysql_db_query -- Envia una sentencia MySQL al servidor

Descripción

int mysql_db_query ( cadena base_de_datos, cadena sentencia [, int identificador_de_enlace] )

Devuelve: Un identificador de resultado positivo o falso si error. La función también regresa TRUE/FALSE para

las sentencias INSERT/UPDATE/DELETE para indicar exito/falla.

mysql_db_query() selecciona una base y ejecuta una sentencia en ella. Si el identificador de enlace no ha sido especificado, la función intenta encontrar un enlace abierto al servidor MySQL y si no lo encuentra, intetará crear uno como si fuera llamado mysql_connect() sin argumentos

Tenga en cuenta que esta funció NO se regresa a la base de datos a la que estaba conectado antes. En otraspalabras usted no puede usar esta función para correr temporalmente una consulta SQL en otra base de datos, usted debe manualmente regresarse. Los usuarios son animados a usar la sintaxis database.table en las

consultas SQL en vez de esta función.

Ver tambiénmysql_connect(), mysql_query().

Nota: Esta función es obsoleta desde PHP 4.0.6 no use esta función. Use mysql_select_db() y mysql_query().

Anterior Inicio Siguiente

mysql_db_name Subir mysql_drop_db

Manual de PHP

Anterior Siguiente

mysql_drop_db

(PHP 3, PHP 4, PHP 5)

Página 13 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 14: MYSQL PHP5.pdf

mysql_drop_db -- Borra una base de datos MySQL

Descripción

int mysql_drop_db ( cadena base_de_datos [, int identificador_de_enlace] )

mysql_drop_db() intenta suprimir una base de datos completa del servidor asociado al identificador de enlace.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también: mysql_create_db(). Por razones de compatibilidad puede usarse mysql_dropdb() igualmente. Aunque es obsoleta.

Nota: La función mysql_drop_db() es obsoleta. Es preferible usar mysql_query() para enviar una sentencia SQL DROP DATABASE en su lugar.

Vea también mysql_query().

Aviso

Esta función no está disponible si la extensión de MySQL fue compilada para las librerias cliente de MySQL 4.x.

Anterior Inicio Siguiente

mysql_db_query Subir mysql_errno

Manual de PHP

Anterior Siguiente

mysql_errno

(PHP 3, PHP 4, PHP 5)

mysql_errno -- Deuelve el número del mensaje de error de la última operación MySQL

Descripción

int mysql_errno ( [int identificador_de_enlace] )

Regresa el número de error de la última función, o 0 (cero) si no hay error.

Los errores que se obtienen de la base de datos MySQL ya no generan alertas. En lugar de eso, use mysql_errno() para obtener el código de error. Note que esta función solo regresa el código de error de la función MySQLm s recientemente executada (sin incluir mysql_error() y mysql_errno()), así que si quiere usarla, asegurese de chear el valor antes de llamar a otra funció de MySQL.

Ejemplo 1. Ejemplo de mysql_errno

<?php$link = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!mysql_select_db("nonexistentdb", $link)) { echo mysql_errno($link) . ": " . mysql_error($link). "\n";}

mysql_select_db("kossu", $link);if (!mysql_query("SELECT * FROM nonexistenttable", $link)) { echo mysql_errno($link) . ": " . mysql_error($link) . "\n";}?>

Página 14 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 15: MYSQL PHP5.pdf

Nota: Si el parámetro opcional es específicado el identificador_de_enlace es usado para obtener el código de error. Si no, se usa el último enlace abierto.

Ver también: mysql_error() y Códigos de error MySQL.

El ejemplo anterior producirá la siguiente salida:

1049: Unknown database 'nonexistentdb'1146: Table 'kossu.nonexistenttable' doesn't exist

Anterior Inicio Siguiente

mysql_drop_db Subir mysql_error

Manual de PHP

Anterior Siguiente

mysql_error

(PHP 3, PHP 4, PHP 5)

mysql_error -- Devuelve el texto del mensaje de error de la última operación MySQL

Descripción

cadena mysql_error ( [int identificador_de_enlace] )

Regresa el texto del error de la última funció MySQL o '' (cadena vacía) si no ocurrió error. Si no se específica

el identificador de enlace en la función se usa el último enlace abierto exitosamente para obtener el mensaje de error del servidor MySQL.

Los errores que se obtienen de la base de datos MySQL ya no generan alertas. En lugar de eso, use mysql_errno() para obtener el código de error. Note que esta función solo regresa el código de error de la función MySQLm s recientemente executada (sin incluir mysql_error() y mysql_errno()), así que si quiere usarla, asegurese de chear el valor antes de llamar a otra funció de MySQL.

Ver también: mysql_errno() Códigos de error MySQL.

Ejemplo 1. Ejemplo de mysql_error

El ejemplo anterior producirá la siguiente salida:

<?php$link = mysql_connect("localhost", "mysql_user", "mysql_password");

mysql_select_db("nonexistentdb", $link);echo mysql_errno($link) . ": " . mysql_error($link). "\n";

mysql_select_db("kossu", $link);mysql_query("SELECT * FROM nonexistenttable", $link);echo mysql_errno($link) . ": " . mysql_error($link) . "\n";?>

1049: Unknown database 'nonexistentdb'1146: Table 'kossu.nonexistenttable' doesn't exist

Anterior Inicio Siguiente

mysql_errno Subir mysql_escape_string

Página 15 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 16: MYSQL PHP5.pdf

Manual de PHP

Anterior Siguiente

mysql_escape_string

(PHP 4 >= 4.0.3, PHP 5)

mysql_escape_string -- Escapa una cadena para su uso en mysql_query

Descripción

string mysql_escape_string ( string cadena_no_escapada )

Esta función escapa la cadena_no_escapada, de modo que sea seguro usarla en un llamado a mysql_query().

Esta función es obsoleta.

Esta función es idéntica a mysql_real_escape_string() con la excepción de que mysql_real_escape_string()recibe un gestor de conexión y escapa la cadena de acuerdo al juego de caracteres actual. mysql_escape_string()no recibe un argumento de conexión, y no hace caso al valor actual del juego de caracteres.

Lista de parámetros

cadena_no_escapada

La cadena a ser escapada.

Valores retornados

Devuelve la cadena escapada.

Registro de cambios

Ejemplos

Notes

Nota: mysql_escape_string() no escapa % ni _.

Ver también

Versión Descripción

4.3.0Esta función se convirtió en obsoleta, no use esta función. En su lugar, use mysql_real_escape_string().

Ejemplo 1. Ejemplo de mysql_escape_string()

El resultado del ejemplo seria:

<?php$item = "Zak's Laptop";$item_escapado = mysql_escape_string($item);printf("La cadena escapada: %s\n", $item_escapado);?>

La cadena escapada: Zak\'s Laptop

Página 16 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 17: MYSQL PHP5.pdf

mysql_real_escape_string()

addslashes()

La directiva magic_quotes_gpc.

Anterior Inicio Siguiente

mysql_error Subir mysql_fetch_array

Manual de PHP

Anterior Siguiente

mysql_fetch_array

(PHP 3, PHP 4, PHP 5)

mysql_fetch_array -- Extrae la fila de resultado como una matriz asociativa, una matriz numérica o ambas

Descripción

array mysql_fetch_array ( int id_resultado [, int tipo_de_resultado] )

Devuelve una matriz que corresponde a la sentencia extraida, o falso si no quedan más filas.

mysql_fetch_array() es una versión extendida de mysql_fetch_row(). Además de guardar los datos en el índice numérico de la matriz, guarda también los datos en los índices asociativos, usando el nombre de campo como clave.

Si dos o más columnas del resultado tienen el mismo nombre de campo, la última columna toma la prioridad. Para acceder a la(s) otra(s) columna(s) con el mismo nombre, se debe escificar el indice numerico o definir un alias para la columna. En columnas con alias, usted no puede acceder al contenido con el nombre original de la columna (usando 'field' en este ejemplo)

La función mysql_fetch_array() no es significativemente mas lenta que mysql_fetch_row(), sin embargo tiene un valor añadido importante.

El segundo argumento opcional tipo_de_resultado en mysql_fetch_array() es una constante y puede tomar

los siguientes valores: MYSQL_ASSOC, MYSQL_NUM, y MYSQL_BOTH. Esta caraterística fue agregada en PHP 3.0.7.

MYSQL_BOTH

Usando MYSQL_BOTH, usted obtendrá una matrix con índices asociativos y numéricos. Usando MYSQL_ASSOC,

usted solo tendrá índices asociativos (tal como funciona mysql_fetch_assoc()), usando MYSQL_NUM, solo

obtendrá los índices numéricos (tal como si fuera mysql_fetch_row()).

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas yminusculas.

Nota: Esta funcion define campos NULL como valores PHP NULL.

Vea también mysql_fetch_row(), mysql_fetch_assoc(), mysql_data_seek(), y mysql_query().

Ejemplo 1. Consulta con campos repetidos usando alias

SELECT table1.field AS foo, table2.field AS bar FROM table1, table2

Ejemplo 2. mysql_fetch_array() con MYSQL_NUM

<?php

mysql_connect("localhost", "mysql_user", "mysql_password") or

die("Could not connect: " . mysql_error());

Página 17 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 18: MYSQL PHP5.pdf

mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {printf("ID: %s Name: %s", $row[0], $row[1]);

}

mysql_free_result($result);?>

Ejemplo 3. mysql_fetch_array() con MYSQL_ASSOC

<?phpmysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error());mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {printf("ID: %s Name: %s", $row["id"], $row["name"]);

}

mysql_free_result($result);?>

Ejemplo 4. mysql_fetch_array() con MYSQL_BOTH

<?phpmysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error());mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {printf ("ID: %s Name: %s", $row[0], $row["name"]);

}

mysql_free_result($result);?>

Anterior Inicio Siguiente

mysql_escape_string Subir mysql_fetch_assoc

Manual de PHP

Anterior Siguiente

mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5)

mysql_fetch_assoc -- Recupera una fila de resultado como una matriz asociativa

Descripción

array mysql_fetch_assoc ( resource resultado )

Devuelve una matriz asociativa que corresponde a la fila recuperada y mueve el apuntador de datos interno hacia adelante. mysql_fetch_assoc() es equivalente a llamar mysql_fetch_array() con MYSQL_ASSOC como el segundo parámetro opcional. Únicamente devuelve una matriz asociativa.

Lista de parámetros

Página 18 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 19: MYSQL PHP5.pdf

result

The result resource that is being evaluated. This result comes from a call to mysql_query().

Valores retornados

Devuelve una matriz asociativa que corresponde a la fila recuperada, o FALSE si no hay más filas disponibles.

Si dos o más columnas del resultado tienen los mismos nombres de campo, la última columna tomará precedencia. Para acceder a otras columnas con el mismo nombre, tendrá que acceder al resultado con índices numéricos mediante el uso de mysql_fetch_row() o agregar sobrenombres. Vea el ejemplo en la descripción de mysql_fetch_array() respecto a los sobrenombres.

Ejemplos

Notes

Rendimiento: Algo importante a notar es que el uso de mysql_fetch_assoc() no es

Ejemplo 1. Un ejemplo extendido de mysql_fetch_assoc()

<?php

$conexion = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!$conexion) { echo "No pudo conectarse a la BD: " . mysql_error(); exit;}

if (!mysql_select_db("nombre_de_la_bd")) { echo "No ha sido posible seleccionar la BD: " . mysql_error(); exit;}

$sql = "SELECT id as id_usuario, nombre_completo, status_usuario FROM alguna_tabla WHERE status_usuario = 1";

$resultado = mysql_query($sql);

if (!$resultado) { echo "No pudo ejecutarse satisfactoriamente la consulta ($sql) " .

"en la BD: " . mysql_error(); exit;}

if (mysql_num_rows($resultado) == 0) { echo "No se han encontrado filas, nada a imprimir, asi que voy " .

"a detenerme."; exit;}

// Mientras exista una fila de datos, colocar esa fila en $fila// como una matriz asociativa// Nota: Si solo espera una fila, no hay necesidad de usar un ciclo// Nota: Si coloca extract($fila); dentro del siguiente ciclo,// estara creando $id_usuario, $nombre_completo, y $status_usuariowhile ($fila = mysql_fetch_assoc($resultado)) { echo $fila["id_usuario"]; echo $fila["nombre_completo"]; echo $fila["status_usuario"];}

mysql_free_result($resultado);

?>

Página 19 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 20: MYSQL PHP5.pdf

significativamente más lento que el uso de mysql_fetch_row(), al mismo tiempo que provee unvalor agregado considerable.

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas yminusculas.

Nota: Esta funcion define campos NULL como valores PHP NULL.

Ver también

mysql_fetch_row()

mysql_fetch_array()

mysql_data_seek()

mysql_query()

mysql_error()

Anterior Inicio Siguiente

mysql_fetch_array Subir mysql_fetch_field

Manual de PHP

Anterior Siguiente

mysql_fetch_field

(PHP 3, PHP 4, PHP 5)

mysql_fetch_field -- Extrae la información de una columna y la devuelve como un objeto.

Descripción

objeto mysql_fetch_field ( int id_resultado [, int salto] )

Devuelve un objeto que contiene la información del campo.

Puede usarse mysql_fetch_field() para obtener información sobre campos en un resultado. Si no se específica el salto, se extrae el siguiente campo que todavía no ha sido extraido. con mysql_fetch_field().

Las propiedades del objeto son:

� name - nombre de la columna

� table - name de la tabla a la que pertenece la columna

� max_length - longitud máxima de la columna

� not_null - 1 si la columna no puede contener un valor nulo

� primary_key - 1 si la columna es clave primaria

� unique_key - 1 si la columna es clave única

� multiple_key - 1 si la columna es clave no única

� numeric - 1 si la columna es numérica

� blob - 1 si la columna es un BLOB

Página 20 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 21: MYSQL PHP5.pdf

� type - el tipo de la columna

� unsigned - 1 si la columna es unsigned

� zerofill - 1 si la columna es zero-filled

Ver también mysql_field_seek()

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas yminusculas.

Ejemplo 1. Ejemplo mysql_fetch_field

<?php$conn = mysql_connect('localhost:3306', 'user', 'password');if (!$conn) { die('Could not connect: ' . mysql_error());}mysql_select_db('database');$result = mysql_query('select * from table');if (!$result) { die('Query failed: ' . mysql_error());}/* get column metadata */$i = 0;while ($i < mysql_num_fields($result)) { echo "Information for column $i:<br />\n";

$meta = mysql_fetch_field($result, $i); if (!$meta) { echo "No information available<br />\n"; } echo "<pre>blob: $meta->blobmax_length: $meta->max_lengthmultiple_key: $meta->multiple_keyname: $meta->namenot_null: $meta->not_nullnumeric: $meta->numericprimary_key: $meta->primary_keytable: $meta->tabletype: $meta->typeunique_key: $meta->unique_keyunsigned: $meta->unsignedzerofill: $meta->zerofill</pre>";

$i++;}mysql_free_result($result);?>

Anterior Inicio Siguiente

mysql_fetch_assoc Subir mysql_fetch_lengths

Manual de PHP

Anterior Siguiente

mysql_fetch_lengths

(PHP 3, PHP 4, PHP 5)

mysql_fetch_lengths -- Devuelve la longitud de cada salida en un resultado

Descripción

Página 21 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 22: MYSQL PHP5.pdf

array mysql_fetch_lengths ( int id_resultado )

Devuelve: Una matriz que contiene las longitudes de cada campo de la última fila extraida por mysql_fetch_row(), o FALSE si error.

mysql_fetch_lengths() almacena las longitudes de cada columna en la última fila devuelta por mysql_fetch_row(), mysql_fetch_assoc(), mysql_fetch_array(), y mysql_fetch_object() en una matriz, empezando por 0.

Vea también mysql_field_len(), mysql_fetch_row(), strlen().

Ejemplo 1. Ejemplo de mysql_fetch_lengths

El resultado del ejemplo seria algo similar a:

<?php$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");if (!$result) { echo 'Could not run query: ' . mysql_error(); exit;}$row = mysql_fetch_assoc($result);$lengths = mysql_fetch_lengths($result);

print_r($row);print_r($lengths);

?>

Array( [id] => 42 [email] => [email protected])Array( [0] => 2 [1] => 16)

Anterior Inicio Siguiente

mysql_fetch_field Subir mysql_fetch_object

Manual de PHP

Anterior Siguiente

mysql_fetch_object

(PHP 3, PHP 4, PHP 5)

mysql_fetch_object -- Extrae una fila de resultado como un objeto

Descripción

objeto mysql_fetch_object ( int id_resultado )

Devuelve un objeto con las propiedades que corresponden a la última fila extraida, o FALSE si no quedan más

filas.

mysql_fetch_object() es similar a mysql_fetch_array(), con la diferencia que un objeto es devuelto en lugar de una matriz. Indirectamente, quiere decir que solo se puede aceder a los datos por el nombre del campo, y no por

Página 22 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 23: MYSQL PHP5.pdf

su posición. (los números no pueden ser nombres de propiedades de objetos).

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas yminusculas.

Nota: Esta funcion define campos NULL como valores PHP NULL.

La función es identica a mysql_fetch_array(), y casi tan rápida como mysql_fetch_row() (la diferencia esinsignificante).

Ver también: mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_row(), mysql_data_seek() y mysql_query().

Ejemplo 1. Ejemplo demysql_fetch_object()

<?php

$row = mysql_fetch_object($result);

/* this is valid */echo $row->field;/* this is invalid *///echo $row->0;

?>

Ejemplo 2. Ejemplo demysql_fetch_object()

<?phpmysql_connect("hostname", "user", "password");mysql_select_db("mydb");$result = mysql_query("select * from mytable");while ($row = mysql_fetch_object($result)) { echo $row->user_id; echo $row->fullname;}mysql_free_result($result);?>

Anterior Inicio Siguiente

mysql_fetch_lengths Subir mysql_fetch_row

Manual de PHP

Anterior Siguiente

mysql_fetch_row

(PHP 3, PHP 4, PHP 5)

mysql_fetch_row -- Devuelve una fila de resultado como matriz

Descripción

array mysql_fetch_row ( int id_resultado )

Devuelve: Una matriz que corresponde a la fila selecionada, o FALSE si no quedan más filas.

Nota: Esta funcion define campos NULL como valores PHP NULL.

mysql_fetch_row() seleciona una fila de datos del resultado asociado al identificador de resultado especificado. La fila es devuelta como una matriz. Cada columna del resultdo es guardada en un offset de la matriz,

Página 23 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 24: MYSQL PHP5.pdf

empezando por el offset 0.

La llamada a mysql_fetch_row() debería devolver la próxima fila del resultado, o FALSE si no quedan más filas.

Ver también: mysql_fetch_array(), mysql_fetch_object(), mysql_data_seek(), mysql_fetch_lengths(), mysql_result().

Ejemplo 1. Ejemplo de mysql_fetch_row

<?php$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");if (!$result) { echo 'Could not run query: ' . mysql_error(); exit;}$row = mysql_fetch_row($result);

echo $row[0]; // 42echo $row[1]; // the email value?>

Anterior Inicio Siguiente

mysql_fetch_object Subir mysql_field_flags

Manual de PHP

Anterior Siguiente

mysql_field_flags

(PHP 3, PHP 4, PHP 5)

mysql_field_flags -- Devuelve las banderas asociados con el campo específicado en un resultado

Descripción

cadena mysql_field_flags ( int id_resultado, int offset_del_campo )

mysql_field_flags() devuelve las banderas del campo específicado. Cada bandera es devuelta como una palabra y están separados por un único espacio, se puede dividir el resultado devuelto utilizando explode().

Soporta las siguientes banderas: "not_null", "primary_key", "unique_key", "multiple_key", "blob",

"unsigned", "zerofill", "binary", "enum", "auto_increment" y "timestamp".

Ejemplo 1. Ejemplo de mysql_field_flags

El resultado del ejemplo seria algo similar a:

<?php$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");if (!$result) { echo 'Could not run query: ' . mysql_error(); exit;}$flags = mysql_field_flags($result, 0);

echo $flags;print_r(explode(' ', $flags));?>

not_null primary_key auto_increment

Página 24 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 25: MYSQL PHP5.pdf

Por razones de compatibilidad puede usarse también mysql_fieldflags(). Sin embargo esta funció es obsoleta.

Array( [0] => not_null [1] => primary_key [2] => auto_increment)

Anterior Inicio Siguiente

mysql_fetch_row Subir mysql_field_len

Manual de PHP

Anterior Siguiente

mysql_field_len

(PHP 3, PHP 4, PHP 5)

mysql_field_len -- Devuelve la longitud del campo específicado

Descripción

int mysql_field_len ( int id_resultado, int offset_del_campo )

mysql_field_len() devuelve la longitud del campo específicado.

Por razones de compatibilidad puede usarse también mysql_fieldlen(). Aunque esta función es obsoleta.

Vea tambié mysql_fetch_lengths(), strlen().

Ejemplo 1. Ejemplo de mysql_fetch_len

<?php$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");if (!$result) { echo 'Could not run query: ' . mysql_error(); exit;}

// Will get the length of the value in email so for example// [email protected] would give us a length of 16$length = mysql_field_len($result, 'email');echo $length;?>

Anterior Inicio Siguiente

mysql_field_flags Subir mysql_field_name

Manual de PHP

Anterior Siguiente

mysql_field_name

(PHP 3, PHP 4, PHP 5)

mysql_field_name -- Devuelve el nombre del campo específicado en un resultado

Página 25 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 26: MYSQL PHP5.pdf

Descripción

cadena mysql_field_name ( int id_resultado, int indice_del_campo )

mysql_field_name() devuelve el nombre del campo específicado. Los argumentos de la función son el identificador de resultado y el índice del campo.

Nota: indice_del_campo comienza en 0.

Por ejemplo el índice del tercer campo será en realidad 2, el índice del cuarto campo será 3 y asi sucesivamente.

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas yminusculas.

Por razones de compatibilidad puede usarse también mysql_fieldname(). Sin embargo esta función es obsoleta.

Ejemplo 1. Ejemplo mysql_field_name

El ejemplo anterior producirá la siguiente salida:

<?php/* The users table consists of three fields: * user_id * username * password. */$link = @mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect to MySQL server: ' . mysql_error());}$dbname = 'mydb';$db_selected = mysql_select_db($dbname, $link);if (!$db_selected) { die('Could not set $dbname: ' . mysql_error());}$res = mysql_query('select * from users', $link);

echo mysql_field_name($res, 0) . "\n";echo mysql_field_name($res, 2);?>

user_idpassword

Anterior Inicio Siguiente

mysql_field_len Subir mysql_field_seek

Manual de PHP

Anterior Siguiente

mysql_field_seek

(PHP 3, PHP 4, PHP 5)

mysql_field_seek -- Asigna el puntero del resultado al offset del campo específicado

Descripción

int mysql_field_seek ( int id_resultado, int offset_del_campo )

Página 26 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 27: MYSQL PHP5.pdf

Busca el offset del campo específicado. Si la próxima llamada a mysql_fetch_field() no incluye un offset de campo, se devolverá ese campo.

Ver también mysql_fetch_field().

Anterior Inicio Siguiente

mysql_field_name Subir mysql_field_table

Manual de PHP

Anterior Siguiente

mysql_field_table

(PHP 3, PHP 4, PHP 5)

mysql_field_table -- Devuelve el nombre de la tabla donde está el campo específicado

Descripción

cadena mysql_field_table ( int id_resultado, int offset_del_campo )

Devuelve el nombre de la tabla donde está el campo.

Por razones de compatibilidad puede usarse también mysql_fieldtable(). Sin embargo esta función es obsoleta.

Vea también mysql_list_tables().

Ejemplo 1. Ejemplo mysql_field_table

<?php$result = mysql_query("SELECT name,comment FROM people,comments");if (!$result) { echo 'Could not run query: ' . mysql_error(); exit;}

// Assuming name is in the people table$table = mysql_field_table($result, 'name');echo $table; // people?>

Anterior Inicio Siguiente

mysql_field_seek Subir mysql_field_type

Manual de PHP

Anterior Siguiente

mysql_field_type

(PHP 3, PHP 4, PHP 5)

mysql_field_type -- Devuelve el tipo del campo específicado en un resultado

Descripción

cadena mysql_field_type ( int id_resultado, int offset_del_campo )

Página 27 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 28: MYSQL PHP5.pdf

mysql_field_type() es similar a la función mysql_field_name(). Los argumentos son idénticos, pero se devuelve el tipo de campo. El tipo será "int", "real", "string", "blob", u otros detallados en la documentación de

MySQL.

Por razones de compatibilidad puede usarse también mysql_fieldtype(). Aunque esta función es obsoleta.

Ejemplo 1. mysql_field_type() example

El ejemplo anterior producirá la siguiente salida:

<?phpmysql_connect("localhost", "mysql_username", "mysql_password");mysql_select_db("mysql");$result = mysql_query("SELECT * FROM func");$fields = mysql_num_fields($result);$rows = mysql_num_rows($result);$table = mysql_field_table($result, 0);echo "Your '" . $table . "' table has " . $fields . " fields and " . $rows . " record(s)\n";echo "The table has the following fields:\n";for ($i=0; $i < $fields; $i++) {

$type = mysql_field_type($result, $i);$name = mysql_field_name($result, $i);$len = mysql_field_len($result, $i);$flags = mysql_field_flags($result, $i);

echo $type . " " . $name . " " . $len . " " . $flags . "\n";}mysql_free_result($result);mysql_close();?>

Your 'func' table has 4 fields and 1 record(s)The table has the following fields:string name 64 not_null primary_key binaryint ret 1 not_nullstring dl 128 not_nullstring type 9 not_null enum

Anterior Inicio Siguiente

mysql_field_table Subir mysql_free_result

Manual de PHP

Anterior Siguiente

mysql_free_result

(PHP 3, PHP 4, PHP 5)

mysql_free_result -- Libera la memoria del resultado

Descripción

int mysql_free_result ( int id_resultado )

mysql_free_result() solo necesita ser llamada si te preocupa usar demasiado memoria durante la ejecución de tu script. Toda la memoria usada por resultado específicado en el parámetro del identificador de resultado será automáticamente liberada.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

If a non-resource is used for the result, an error of level E_WARNING will be emitted. It's worth noting that

Página 28 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 29: MYSQL PHP5.pdf

mysql_query() only returns a resource for SELECT, SHOW, EXPLAIN, and DESCRIBE queries.

Por razones de compatibilidad puede usarse tambien mysql_freeresult(). Sin embargo esta función es obsoleta.

Vea también mysql_query(), is_resource().

Ejemplo 1. Ejemplo de mysql_free_result

<?php$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");if (!$result) { echo 'Could not run query: ' . mysql_error(); exit;}/* Use the result, assuming we're done with it afterwords */$row = mysql_fetch_assoc($result);

/* Now we free up the result and continue on with our script */mysql_free_result($result);

echo $row['id'];echo $row['email'];?>

Anterior Inicio Siguiente

mysql_field_type Subir mysql_get_client_info

Manual de PHP

Anterior Siguiente

mysql_get_client_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_client_info -- Obtener información del cliente MySQL

Descripción

string mysql_get_client_info ( void )

mysql_get_client_info() devuelve una cadena que representa la versión de la biblioteca cliente.

Valores retornados

La versión del cliente MySQL.

Ejemplos

Ejemplo 1. Ejemplo de mysql_get_client_info()

El resultado del ejemplo seria algo similar a:

<?phpprintf("Informaci&oacute;n del cliente MySQL: %s\n", mysql_get_client_info());?>

Informaci&oacute;n del cliente MySQL: 3.23.39

Página 29 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 30: MYSQL PHP5.pdf

Ver también

mysql_get_host_info()

mysql_get_proto_info()

mysql_get_server_info()

Anterior Inicio Siguiente

mysql_free_result Subir mysql_get_host_info

Manual de PHP

Anterior Siguiente

mysql_get_host_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_host_info -- Obtener información de la máquina anfitriona MySQL

Descripción

string mysql_get_host_info ( [resource id_enlace] )

Describe el tipo de conexión en uso, incluyendo el nombre del equipo servidor anfitrión.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Devuelve una cadena que describe el tipo de conexión MySQL en uso, o FALSE si ocurre un error.

Ejemplos

Ver también

Ejemplo 1. Ejemplo de mysql_get_host_info()

El resultado del ejemplo seria algo similar a:

<?php$enlace = mysql_connect("localhost", "mysql_user", "mysql_password");if (!$enlace) { die("No pudo conectarse: " . mysql_error());}printf("Informaci&oacute;n del host MySQL: %s\n", mysql_get_host_info());?>

Informaci&oacute;n del equipo anfitri&oacute;n MySQL: Localhost via UNIX socket

mysql_get_client_info()

Página 30 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 31: MYSQL PHP5.pdf

mysql_get_proto_info()

mysql_get_server_info()

Anterior Inicio Siguiente

mysql_get_client_info Subir mysql_get_proto_info

Manual de PHP

Anterior Siguiente

mysql_get_proto_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_proto_info -- Obtener información del protocolo MySQL

Descripción

int mysql_get_proto_info ( [resource id_enlace] )

Recupera el protocolo MySQL.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Devuelve el protocolo MySQL en caso de éxito, o FALSE si ocurre un error.

Ejemplos

Ver también

Ejemplo 1. Ejemplo de mysql_get_proto_info()

El resultado del ejemplo seria algo similar a:

<?php$enlace = mysql_connect("localhost", "mysql_user", "mysql_password");if (!$enlace) { die("No pudo conectarse: " . mysql_error());}printf("Versi&oacute;n del protocolo MySQL: %s\n", mysql_get_proto_info());?>

Versi&oacute;n del protocolo MySQL: 10

mysql_get_client_info()

mysql_get_host_info()

mysql_get_server_info()

Página 31 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 32: MYSQL PHP5.pdf

Anterior Inicio Siguiente

mysql_get_host_info Subir mysql_get_server_info

Manual de PHP

Anterior Siguiente

mysql_get_server_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_server_info -- Obtener información del servidor MySQL

Descripción

string mysql_get_server_info ( [resource id_enlace] )

Recupera la versión del servidor MySQL.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Devuelve la versión del servidor MySQL en caso de éxito, o FALSE si ocurre un error.

Ejemplos

Ver también

Ejemplo 1. Ejemplo de mysql_get_server_info()

El resultado del ejemplo seria algo similar a:

<?php$enlace = mysql_connect("localhost", "mysql_user", "mysql_password");if (!$enlace) { die("No pudo conectarse: " . mysql_error());}printf("Versi&oacute;n del servidor MySQL: %s\n", mysql_get_server_info());?>

Versi&oacute;n del servidor MySQL: 4.0.1-alpha

mysql_get_client_info()

mysql_get_host_info()

mysql_get_proto_info()

phpversion()

Anterior Inicio Siguiente

Página 32 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 33: MYSQL PHP5.pdf

mysql_get_proto_info Subir mysql_info

Manual de PHP

Anterior Siguiente

mysql_info

(PHP 4 >= 4.3.0, PHP 5)

mysql_info -- Obtiene información sobre la consulta más reciente

Descripción

string mysql_info ( [resource id_enlace] )

Devuelve información detallada sobre la última consulta.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Devuele información sobre la sentencia en caso de éxito, o FALSE si ocurre un error. Vea el ejemplo siguiente

para conocer cuáles sentencias proveen información, y cuál puede ser la apariencia del valor devuelto. Las sentencias que no son listadas devolverán FALSE.

Ejemplos

Notes

Nota: mysql_info() devuelve un valor diferente a FALSE para la sentencia INSERT ... VALUES

sólo si se indican múltiples listas de valores en la sentencia.

Ver también

Ejemplo 1. Sentencias MySQL Relevantes

Sentencias que devuelven valores tipo cadena. Los números se encuentran únicamente para propósitosilustrativos; sus valores corresponderán con la consulta.

INSERT INTO ... SELECT ...

String format: Records: 23 Duplicates: 0 Warnings: 0

INSERT INTO ... VALUES (...),(...),(...)...

String format: Records: 37 Duplicates: 0 Warnings: 0

LOAD DATA INFILE ...

String format: Records: 42 Deleted: 0 Skipped: 0 Warnings: 0

ALTER TABLE

String format: Records: 60 Duplicates: 0 Warnings: 0

UPDATE

String format: Rows matched: 65 Changed: 65 Warnings: 0

mysql_affected_rows()

mysql_insert_id()

Página 33 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 34: MYSQL PHP5.pdf

mysql_stat()

Anterior Inicio Siguiente

mysql_get_server_info Subir mysql_insert_id

Manual de PHP

Anterior Siguiente

mysql_insert_id

(PHP 3, PHP 4, PHP 5)

mysql_insert_id -- Devuelve el identificador generado en la última llamada a INSERT

Descripción

int mysql_insert_id ( [int identificador_de_enlace] )

mysql_insert_id() devuelve el identificador generado para un campo de tipo AUTO_INCREMENTED. Sedevolverá el identificador generado por el último INSERT para el identificador_de_enlace. Si no se

específica el identificador_de_enlace, se asume por defecto el último enlace abierto.

mysql_insert_id() regresa 0 si la consulta previa no generó un valor AUTO_INCREMENT. Si necesita guardar el valor para un uso posterior, asegurese de llamar mysql_insert_id() inmediatamente después de la consulta que generó el valor.

Nota: El valor de la función SQL de MYSQL LAST_INSERT_ID() siempre contiene el valor

AUTO_INCREMENT má recientemente generado, y no se pierde su valor entre consultas.

Vea también mysql_query(), mysql_info().

Aviso

mysql_insert_id() convierte el tipo de la función nativa de MySQL en el API de C mysql_insert_id() a un

tipo de long (llamada int en PHP). Si tu columna AUTO_INCREMENT tiene un tipo BIGINT, el valor

regresado por mysql_insert_id() será incorrecto. En ese caso, usa la función interna LAST_INSERT_ID() de

SQL en MySQL en una consulta SQL.

Ejemplo 1. Ejemplo mysql_insert_id

<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");printf("Last inserted record has id %d\n", mysql_insert_id());?>

Anterior Inicio Siguiente

mysql_info Subir mysql_list_dbs

Manual de PHP

Anterior Siguiente

Página 34 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 35: MYSQL PHP5.pdf

mysql_list_dbs

(PHP 3, PHP 4, PHP 5)

mysql_list_dbs -- Lista las bases de datos disponibles en el servidor MySQL

Descripción

int mysql_list_dbs ( [int identificador_de_enlace] )

mysql_list_dbs() devuelve un puntero de resultado que contiene las bases disponibles en el actual demonio mysql. Utiliza la función mysql_tablename() para explotar el puntero de resultado.

Nota: El código anterior puede funcionar igualmente con mysql_fetch_row() u otra funció similar.

Por razones de compatibilidad puede usarse también mysql_listdbs(). Sin embargo esta función es obsoleta.

Vea también mysql_db_name(), mysql_select_db().

Ejemplo 1. Ejemplo mysql_list_dbs

El ejemplo anterior producirá la siguiente salida:

<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');$db_list = mysql_list_dbs($link);

while ($row = mysql_fetch_object($db_list)) { echo $row->Database . "\n";}?>

database1database2database3...

Anterior Inicio Siguiente

mysql_insert_id Subir mysql_list_fields

Manual de PHP

Anterior Siguiente

mysql_list_fields

(PHP 3, PHP 4, PHP 5)

mysql_list_fields -- Lista los campos del resultado de MySQL

Descripción

int mysql_list_fields ( cadena base_de_datos, cadena tabla [, int dentificador_de_enlace] )

Nota: La función mysql_list_fields() es onsoleta. Es preferible usar mysql_query() para ejecutar una sentencia SQL SHOW COLUMNS FROM table [LIKE 'name'].

mysql_list_fields() lista información sobre la tabla. Los argumentos son la base de datos y el nombre de la tabla. Se devuelve un puntero que puede ser usado por las funciones mysql_field_flags(), mysql_field_len(),

Página 35 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 36: MYSQL PHP5.pdf

mysql_field_name(), y mysql_field_type().

Un identificador de resultado es un entero positivo. La función devuelve -1 si se produce un error. Una cadena de caracteres describiendo el error será introducida en $phperrmsg, y a menos que la función sea llamada como

@mysql() el literal del error también será desplegado.

Por razones de compatibilidad puede usarse también mysql_listfields(). Sin embargo esta funció es obsoleta.

Vea también mysql_field_flags(), mysql_info().

Ejemplo 1. Ejemplo alternativo a mysql_list_fields

El ejemplo anterior producirá una salida similar a:

<?php $result = mysql_query("SHOW COLUMNS FROM sometable"); if (!$result) { echo 'Could not run query: ' . mysql_error(); exit; } if (mysql_num_rows($result) > 0) { while ($row = mysql_fetch_assoc($result)) {

print_r($row); }

?>

Array ( [Field] => id [Type] => int(7) [Null] => [Key] => PRI [Default] => [Extra] => auto_increment ) Array ( [Field] => email [Type] => varchar(100) [Null] => [Key] => [Default] => [Extra] => )

Anterior Inicio Siguiente

mysql_list_dbs Subir mysql_list_processes

Manual de PHP

Anterior Siguiente

mysql_list_processes

(PHP 4 >= 4.3.0, PHP 5)

mysql_list_processes -- Lista los procesos MySQL

Descripción

resource mysql_list_processes ( [resource id_enlace] )

Página 36 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 37: MYSQL PHP5.pdf

Recupera los hilos del servidor MySQL actuales.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Un apuntador tipo resource de resultado en caso de tener éxito, o FALSE si ocurre un error.

Ejemplos

Ver también

Ejemplo 1. Ejemplo de mysql_list_processes()

El resultado del ejemplo seria algo similar a:

<?php$enlace = mysql_connect('localhost', 'mysql_user', 'mysql_password');

$resultado = mysql_list_processes($enlace);

while ($fila = mysql_fetch_assoc($resultado)){printf("%s %s %s %s %s\n", $fila["Id"], $fila["Host"], $fila["db"],

$fila["Command"], $fila["Time"]);}mysql_free_result($resultado);?>

1 localhost test Processlist 04 localhost mysql sleep 5

mysql_thread_id()

mysql_stat()

Anterior Inicio Siguiente

mysql_list_fields Subir mysql_list_tables

Manual de PHP

Anterior Siguiente

mysql_list_tables

(PHP 3, PHP 4, PHP 5)

mysql_list_tables -- Lista las tablas en una base de datos MySQL

Descripción

int mysql_list_tables ( cadena base_de_datos [, int identificador_de_enlace] )

mysql_list_tables() toma el nombre de la base y devuelve un puntero de resultado como la función

Página 37 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 38: MYSQL PHP5.pdf

mysql_db_query(). La función mysql_tablename() debe ser usada para extraer los nombres de las tablas del puntero.

El parámetro base_de_datos es el nombre de la base de datos de la cual se debe extraer la lista de la tabla, a

menos que ocurra un error mysql_list_tables() regresa FALSE

Por razones de compatibilidad puede usarse también mysql_listtables(). Esta función es obsoleta y no se recomienda.

Nota: La función mysql_list_tables() es obsoleta. Es preferible usar mysql_query() para enviar una sentencia SQL SHOW TABLES [FROM db_name] [LIKE 'pattern'].

Vea también: mysql_list_dbs(), mysql_tablename().

Ejemplo 1. Ejemplo mysql_list_tables

<?php$dbname = 'mysql_dbname';

if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) { echo 'Could not connect to mysql'; exit;}

$result = mysql_list_tables($dbname);

if (!$result) { echo "DB Error, could not list tables\n"; echo 'MySQL Error: ' . mysql_error(); exit;}

while ($row = mysql_fetch_row($result)) { echo "Table: $row[0]\n";}

mysql_free_result($result);?>

Anterior Inicio Siguiente

mysql_list_processes Subir mysql_num_fields

Manual de PHP

Anterior Siguiente

mysql_num_fields

(PHP 3, PHP 4, PHP 5)

mysql_num_fields -- devuelve el número de campos de un resultado

Descripción

int mysql_num_fields ( int id_resultado )

mysql_num_fields() devuelve el número de campos de un identificador de resultado.

Ver también: mysql_db_query(), mysql_query(), mysql_fetch_field(), mysql_num_rows().

Ejemplo 1. Ejemplo de mysql_num_fields()

Página 38 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 39: MYSQL PHP5.pdf

Por razones de compatibilidad puede usarse también mysql_numfields(). Sin embargo esta función es obsoleta.

<?php$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");if (!$result) { echo 'Could not run query: ' . mysql_error(); exit;}/* returns 2 because id,email === two fields */echo mysql_num_fields($result);?>

Anterior Inicio Siguiente

mysql_list_tables Subir mysql_num_rows

Manual de PHP

Anterior Siguiente

mysql_num_rows

(PHP 3, PHP 4, PHP 5)

mysql_num_rows -- Devuelve el número de filas de un resultado

Descripción

int mysql_num_rows ( int id_resultado )

mysql_num_rows() regresa el número de filas en un resultado. Este comando es valido solo para las sentencias SELECT. Para obtener el número de filas afectadas por las sentencias INSERT, UPDATE o DELETE, use mysql_affected_rows().

Nota: Si usa mysql_unbuffered_query(), mysql_num_rows() no regresará el valor correcto hastaque todas las filas en el resultado hayan sido recuperadas.

Ver también: mysql_affected_rows(), mysql_connect(), mysql_data_seek(), mysql_select_db(), mysql_query().

Por razones de compatibilidad puede usarse también mysql_numrows(). Sin embargo esta fucnión

Ejemplo 1. Ejemplo mysql_num_rows

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";

?>

Anterior Inicio Siguiente

mysql_num_fields Subir mysql_pconnect

Manual de PHP

Anterior Siguiente

Página 39 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 40: MYSQL PHP5.pdf

mysql_pconnect

(PHP 3, PHP 4, PHP 5)

mysql_pconnect -- Abre una conexión persistente al servidor MySQL

Descripción

int mysql_pconnect ( [cadena hostname [, cadena usuario [, cadena password]]] )

Devuelve: un identificador de enlace persistente, o FALSE si se produce un error.

mysql_pconnect() establece una conexión a un servidor MySQL. Todos los argumentos son opcionales, y si noexisten, se asumen los valores por defecto ('localhost', nombre del usuario propietario del proceso, password vacia).

El hostname puede incluir un número de puerto. ej. "hostname:port" o un camino al socket ej.":/camino/al/socket" para el puerto para el host local.

Nota: Soporte para ":puerto" fue añadido en 3.0B4.

Soporte para ":/camino/al/socket" fue añadido en 3.0.10.

mysql_pconnect() actua como mysql_connect() con dos diferencias fundamentales.

Primero, durante la conexión, la función intenta primero encontrar un enlace persistente abierto con el mismo host, usuario y password. Si lo encuentra, devuelve el identificador de enlace en lugar de abrir otra conexión.

Segundo, la conexión no será cerrada cuando acabe la ejecución del script. El enlace permanecerá abierta para ser usado en el futuro (mysql_close() no cierra el enlace establecido con mysql_pconnect()).

El parámetro opcional client_flags está disponible en PHP 4.3.0.

Este tipo de enlaces son llamados 'persistentes'.

Nota: Note que ese tipo de enlaces solo funcionan si está usando un versión de PHP como módulo. Vea la secci?n Conexiones Persistentes a base de datos para más información.

Aviso

Usando conexiones persistentes puede requerir un poco de ajustar sus configuraciones de Apache y MySQL para asegurarse de que no excede el número de conexiones permitidas por MySQL.

Anterior Inicio Siguiente

mysql_num_rows Subir mysql_ping

Manual de PHP

Anterior Siguiente

mysql_ping

(PHP 4 >= 4.3.0, PHP 5)

mysql_ping -- Efectuar un chequeo de respuesta (ping) sobre una conexión de servidor o reconectarse si no hay conexión

Descripción

Página 40 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 41: MYSQL PHP5.pdf

bool mysql_ping ( [resource id_enlace] )

Qhequea si está activa o no la conexión con el servidor. Si ésta se ha caído, una reconexión automática es intentada. Esta función puede ser usada por scripts que permanecen pasivos durante largos espacios de tiempo, para chequear si el servidor ha cerrado la conexión, y reconectarse de ser necesario.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Devuelve TRUE si la conexión con el servidor MySQL está funcionando, o FALSE de lo contrario.

Ejemplos

Ver también

Ejemplo 1. Un ejemplo de mysql_ping()

<?phpset_time_limit(0);

$con = mysql_connect('localhost', 'mysqlusuario', 'mypassword');$bd = mysql_select_db('mi_bd');

/* Asumiendo que esta consulta toma mucho tiempo */$resultado = mysql_query($sql);if (!$resultado) { echo 'La consulta #1 fall&oacute;, saliendo.'; exit;}

/* Asegurarse de que la conexion sigue viva, si no, intentar una re-conexion */if (!mysql_ping($con)) { echo 'Se ha perdido la conexi&oacute;n, saliendo despu&eacute;s de la consulta #1'; exit;}mysql_free_result($result);

/* Ya que la conexion sigue viva, corramos otra consulta */$resultado2 = mysql_query($sql2);?>

mysql_thread_id()

mysql_list_processes()

Anterior Inicio Siguiente

mysql_pconnect Subir mysql_query

Manual de PHP

Anterior Siguiente

mysql_query

Página 41 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 42: MYSQL PHP5.pdf

(PHP 3, PHP 4, PHP 5)

mysql_query -- Envía una consulta de MySQL

Descripción

resource mysql_query ( string query [, resource identificador_de_enlace] )

mysql_query() envía una consulta (a la base de datos activa en el servidor asociado con el identificador_de_enlace dado).

Lista de parámetros

query

Una consulta SQL

La consulta no debe terminar con punto y coma.

identificador_de_enlace

Un identificador de enlace, como el regresado por mysql_connect().

Si identificador_de_enlace no es específicado, se asume el último enlace abierto. Si no se ha abierto

enlace, la función intenta establecer uno tal y como si se hubiera llamado a mysql_connect() sin argumentos, y lo usará. El resultado de la consulta es puesto en la memoria intermedia (buffer).

Valores retornados

Para las sentencias SELECT, SHOW, DESCRIBE o EXPLAIN, mysql_query() regresa un resource en caso exitoso, y FALSE en error.

Para otro tipo de sentencia SQL, UPDATE, DELETE, DROP, etc, mysql_query() regresa TRUE en caso exitoso

y FALSE en error.

El resultado obtenido debe ser pasado a mysql_fetch_array(), y otras funciones para el manejo de las tablas del resultado, para accesar los datos regresados.

Use mysql_num_rows() para encontrar cuantas filas fueron regresadas para una sentencia SELECT o mysql_affected_rows() para encontrar cuantas filas fueron afectadas por una sentencia DELETE, INSERT, REPLACE, o UPDATE.

mysql_query() también fallará y regresará FALSE si el usuario no tiene permiso de accesar la o las tablas

referenciadas por la consulta.

Ejemplos

Ejemplo 1. Consulta inválida

La siguiente consulta es sintácticamente inválida de tal manera que mysql_query() falla y regresa FALSE.

<?php$result = mysql_query('SELECT * WHERE 1=1');if (!$result) { die('Invalid query: ' . mysql_error());}

?>

Ejemplo 2. Consulta Válida

Página 42 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 43: MYSQL PHP5.pdf

Ver también

La siguiente consulta es válida, así que mysql_query() regresa un resource.

<?php// This could be supplied by a user, for example$firstname = 'fred';$lastname = 'fox';

// Formulate Query// This is the best way to perform a SQL query// For more examples, see mysql_real_escape_string()$query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",

mysql_real_escape_string($firstname),mysql_real_escape_string($lastname));

// Perform Query$result = mysql_query($query);

// Check result// This shows the actual query sent to MySQL, and the error. Useful for debugging.if (!$result) {

$message = 'Invalid query: ' . mysql_error() . "\n";$message .= 'Whole query: ' . $query;

die($message);}

// Use result// Attempting to print $result won't allow access to information in the resource// One of the mysql result functions must be used// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.while ($row = mysql_fetch_assoc($result)) { echo $row['firstname']; echo $row['lastname']; echo $row['address']; echo $row['age'];}

// Free the resources associated with the result set// This is done automatically at the end of the scriptmysql_free_result($result);?>

mysql_connect()

mysql_error()

mysql_real_escape_string()

mysql_result()

mysql_fetch_assoc()

mysql_unbuffered_query()

Anterior Inicio Siguiente

mysql_ping Subir mysql_real_escape_string

Manual de PHP

Anterior Siguiente

mysql_real_escape_string

(PHP 4 >= 4.3.0, PHP 5)

mysql_real_escape_string -- Escapa caracteres especiales de una cadena para su uso en una sentencia SQL

Página 43 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 44: MYSQL PHP5.pdf

Descripción

string mysql_real_escape_string ( string cadena_no_escapada [, resource id_enlace] )

Escapa todos los caracteres especiales en la cadena_no_escapada, tomando en cuenta el juego de caracteres

actual de la conexión, de tal modo que sea seguro usarla con mysql_query(). Si se van a insertar datos binarios,debe usarse esta función.

mysql_real_escape_string() llama a la función de la biblioteca MySQL mysql_real_escape_string, la cual coloca barras invertidas antes de los siguientes caracteres: \x00, \n, \r, \, ', " y \x1a.

Esta función debe usarse siempre (con algunas excepciones) para garantizar que los datos sean seguros antes de enviar una consulta a MySQL

Lista de parámetros

cadena_no_escapada

La cadena a ser escapada.

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Devuelve la cadena escapada, o FALSE en caso de que ocurra un error.

Ejemplos

Ejemplo 1. Ejemplo sencillo de mysql_real_escape_string()

<?php// Conectarse$enlace = mysql_connect('mysql_host', 'mysql_usuario', 'mysql_contrasenya') OR die(mysql_error());

// Consulta$query = sprintf("SELECT * FROM usuarios WHERE usuario='%s' AND password='%s'",

mysql_real_escape_string($usuario),mysql_real_escape_string($password));

?>

Ejemplo 2. Un ejemplo de un ataque de inyección SQL

<?php// Consultar la base de datos para verificar si hay una coincidencia de usuario$consulta = "SELECT * FROM usuarios WHERE usuario='{$_POST['username']}' AND password='{$_POST['password']}'";mysql_query($consulta);

// No revisamos $_POST['password'], ¡podría ser cualquier cosa que el usuario// quiera! Por ejemplo:$_POST['username'] = 'aidan';$_POST['password'] = "' OR ''='";

// Esto quiere decir que la consulta enviada a MySQL sería:echo $consulta;?>

Página 44 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 45: MYSQL PHP5.pdf

Notes

Nota: Es necesaria una conexión MySQL antes de usar mysql_real_escape_string() o de lo contrario un error de nivel E_WARNING es generado, y FALSE es devuelto. Si id_enlace no está

definido, se usará la última conexión con MySQL.

Nota: Si se habilita magic_quotes_gpc, aplique stripslashes() sobre los datos primero. Usar estafunción sobre datos que ya han sido escapados los escapará dos veces.

La consulta enviada a MySQL:

Esto permitiría que cualquiera iniciara una sesión sin una contraseña válida.

SELECT * FROM usuarios WHERE usuario='aidan' AND password='' OR ''=''

Ejemplo 3. Una consulta "Recomendable"

Mediante el uso de mysql_real_escape_string() sobre cada variable se previene la inyección de SQL. Este ejemplo demuestra el método "recomendable" para ejecutar una consulta en la base de datos,independientemente del valor de las Comillas Mágicas.

La consulta no se ejecutará correctamente ahora, y los ataques de inyección de SQL no funcionarán.

<?php

if (isset($_POST['nombre_producto']) && isset($_POST['descripcion_producto']) && isset($_POST['id_usuario'])) {

// Conectarse

$enlace = mysql_connect('host_mysql', 'usuario_mysql', 'contrasenya_mysql');

if(!is_resource($enlace)) {

echo "Falló la conexión con el servidor\n";// ... registrar el error apropiadamente

} else {

// Revertir los efectos de magic_quotes_gpc sobre las variables si es necesario.

if(get_magic_quotes_gpc()) {$nombre_producto = stripslashes($_POST['nombre_producto']);$descripcion_producto = stripslashes($_POST['descripcion_producto']);

} else {$nombre_producto = $_POST['nombre_producto'];$descripcion_producto = $_POST['descripcion_producto'];

}

// Hacer una consulta segura$consulta = sprintf

("INSERT INTO productos (`nombre`, `descripcion`, `id_usuario`) VALUES ('%s', '%s', '%d')",

mysql_real_escape_string($nombre_producto, $enlace),mysql_real_escape_string($descripcion_producto, $enlace),$_POST['id_usuario']);

mysql_query($consulta, $enlace);

if (mysql_affected_rows($enlace) > 0) { echo "Producto insertado\n"; } }} else { echo "Llene los campos del formulario correctamente\n";}?>

Página 45 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 46: MYSQL PHP5.pdf

Nota: Si esta función no es usada para escapar datos, la consulta es vulnerable a Ataques de Inyección de SQL.

Nota: mysql_real_escape_string() no escapa % ni _. Éstos son comodines en MySQL si se combinan con LIKE, GRANT, o REVOKE.

Ver también

mysql_client_encoding()

addslashes()

stripslashes()

La directiva magic_quotes_gpcLa directiva magic_quotes_runtime

Anterior Inicio Siguiente

mysql_query Subir mysql_result

Manual de PHP

Anterior Siguiente

mysql_result

(PHP 3, PHP 4, PHP 5)

mysql_result -- Devuelve datos de un resultado

Descripción

int mysql_result ( int id_resultado, int numero_de_fila [, mixed campo] )

mysql_result() devuelve el contenido de una celda de un resultado MySQL. El campo argumento puede ser el nombre del campo o el offset o tabla.nombre_del_campo. Si el nombre de la columna tiene un alias ('select foo as bar from...'), utilice el alias en lugar del nombre de la columna.

Cuando se trabaja un un gran resultado, debe considerarse la utilización de una función que devuelva una fila entera ya que estas funciones son MUCHO más rápidas que mysql_result(). También, especificando un offsetnumérico en lugar del nombre del campo, la ejecución será más rápida.

Las llamadas a mysql_result() no deben mezclarse con llamadas a las otras sentencias que trabajan con unidentificador de resultado.

Alternativas recomendadas: mysql_fetch_row(), mysql_fetch_array(), mysql_fetch_assoc(),

Ejemplo 1. Ejemplo mysql_result

<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}$result = mysql_query('SELECT name FROM work.employee');if (!$result) { die('Could not query:' . mysql_error());}echo mysql_result($result, 2); // outputs third employee's name

mysql_close($link);?>

Página 46 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 47: MYSQL PHP5.pdf

mysql_fetch_object().

Anterior Inicio Siguiente

mysql_real_escape_string Subir mysql_select_db

Manual de PHP

Anterior Siguiente

mysql_select_db

(PHP 3, PHP 4, PHP 5)

mysql_select_db -- Selecciona un base de datos MySQL

Descripción

int mysql_select_db ( cadena base_de_datos [, int identificador_de_enlace] )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

mysql_select_db() establece la base activa que estará asociada con el identificador de enlace específicado. Si no se específica un identificador de enlace, se asume el último enlace abierto. Si no hay ningún enlace abierto, la función intentará establecer un enlace como si se llamara a mysql_connect().

Toda llamada posterior a mysql_query() utilizará la base activada.

Ver también: mysql_connect(), mysql_pconnect(), mysql_query().

Por razones de compatibilidad puede usarse también mysql_selectdb(). Sin embargo esta función es obsoleta.

Ejemplo 1. Ejemplo mysql_select_db

<?php

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Not connected : ' . mysql_error());}

// make foo the current db$db_selected = mysql_select_db('foo', $link);if (!$db_selected) { die ('Can\'t use foo : ' . mysql_error());}?>

Anterior Inicio Siguiente

mysql_result Subir mysql_stat

Manual de PHP

Anterior Siguiente

mysql_stat

(PHP 4 >= 4.3.0, PHP 5)

mysql_stat -- Obtener el status actual del sistema

Página 47 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 48: MYSQL PHP5.pdf

Descripción

string mysql_stat ( [resource id_enlace] )

mysql_stat() devuelve el status actual del servidor.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Devuelve una cadena con el status de uptime, hilos, consultas, tablas abiertas, tablas de vaciado y consultas por segundo. Para una lista completa de variables de status, es necesario usar el comando SQL SHOW STATUS. Si

id_enlace es inválido, se devuelve NULL.

Ejemplos

Ejemplo 1. Ejemplo de mysql_stat()

El resultado del ejemplo seria algo similar a:

<?php$enlace = mysql_connect('localhost', 'usuario_mysql', 'contrasenya_mysql');$status = explode(' ', mysql_stat($enlace));print_r($status);?>

Array( [0] => Uptime: 5380 [1] => Threads: 2 [2] => Questions: 1321299 [3] => Slow queries: 0 [4] => Opens: 26 [5] => Flush tables: 1 [6] => Open tables: 17 [7] => Queries per second avg: 245.595)

Ejemplo 2. Ejemplo alternativo de mysql_stat()

El resultado del ejemplo seria algo similar a:

<?php$enlace = mysql_connect('localhost', 'usuario_mysql', 'contrasenya_mysql');$resultado = mysql_query('SHOW VARIABLES', $enlace);while ($fila = mysql_fetch_assoc($result)) { echo $fila['Variable_name'] . ' = ' . $fila['Value'] . "\n";}?>

back_log = 50basedir = /usr/local/bdb_cache_size = 8388600bdb_log_buffer_size = 32768bdb_home = /var/db/mysql/

Página 48 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 49: MYSQL PHP5.pdf

Ver también

bdb_max_lock = 10000bdb_logdir = bdb_shared_data = OFFbdb_tmpdir = /var/tmp/...

mysql_get_server_info()

mysql_list_processes()

Anterior Inicio Siguiente

mysql_select_db Subir mysql_tablename

Manual de PHP

Anterior Siguiente

mysql_tablename

(PHP 3, PHP 4, PHP 5)

mysql_tablename -- Devuelve el nombre de la tabla de un campo

Descripción

cadena mysql_tablename ( int id_resultado, int i )

mysql_tablename() toma un puntero de resultado devuelto por mysql_list_tables() así como un índice (integer) y devuelve el nombre de una tabla. Se puede usar la función mysql_num_rows() para determinar el número detablas en el puntero de resultado. Use la función mysql_tablename() para usar este apuntador de resultado, o cualquier función para las tablas resultantes como mysql_fetch_array().

Vea también mysql_list_tables(), mysql_field_table(), mysql_db_name().

Ejemplo 1. Ejemplo mysql_tablename

<?phpmysql_connect("localhost", "mysql_user", "mysql_password");$result = mysql_list_tables("mydb");

$num_rows = mysql_num_rows($result);for ($i = 0; $i < $num_rows; $i++) { echo "Table: ", mysql_tablename($result, $i), "\n";}

mysql_free_result($result);?>

Anterior Inicio Siguiente

mysql_stat Subir mysql_thread_id

Manual de PHP

Anterior Siguiente

mysql_thread_id

(PHP 4 >= 4.3.0, PHP 5)

Página 49 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 50: MYSQL PHP5.pdf

mysql_thread_id -- Devuelve el ID del hilo actual

Descripción

int mysql_thread_id ( [resource id_enlace] )

Recupera el ID del hilo actual. Si la conexión se ha perdido, y se ejecuta una reconexión con mysql_ping(), el ID del hilo cambiará. Esto quiere decir que sólo obtenga el ID del hilo cuando lo necesite.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

El ID del hilo en caso de tener éxito, o FALSE si ocurre un error.

Ejemplos

Ver también

Ejemplo 1. Ejemplo de mysql_thread_id()

El resultado del ejemplo seria algo similar a:

<?php$enlace = mysql_connect('localhost', 'mysql_user', 'mysql_password');$id_hilo = mysql_thread_id($enlace);if ($id_hilo){

printf("El ID del hilo actual es %d\n", $id_hilo);}?>

El ID del hilo actual es 73

mysql_ping()

mysql_list_processes()

Anterior Inicio Siguiente

mysql_tablename Subir mysql_unbuffered_query

Manual de PHP

Anterior Siguiente

mysql_unbuffered_query

(PHP 4 >= 4.0.6, PHP 5)

mysql_unbuffered_query -- Envía una consulta SQL a MySQL, sin recuperar ni colocar en búfer las filas de resultado

Descripción

Página 50 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm

Page 51: MYSQL PHP5.pdf

resource mysql_unbuffered_query ( string consulta [, resource id_enlace] )

mysql_unbuffered_query() envía la consulta SQL a MySQL, sin recuperar ni colocar en búfer las filas de

resultado automáticamente, como mysql_query() lo hace. Por una parte, esto ahorra una considerable cantidad de memoria con las consultas SQL que producen conjuntos grandes de resultados. Por otra parte, usted puede empezar a trabajar con el conjunto de resultado inmediatamente después de que la primera fila ha sido recuperada: no necesita esperar hasta que la consulta SQL completa haya sido ejecutada. Cuando se usan múltiples conexiones con la BD, necesita indicar el parámetro opcional id_enlace.

Lista de parámetros

consulta

Una consulta SQL

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Para sentencias SELECT, SHOW, DESCRIBE o EXPLAIN, mysql_unbuffered_query() devuelve un valor resource en caso de éxito, o FALSE si ocurre un error.

Para otro tipo de sentencias SQL, UPDATE, DELETE, DROP, etc, mysql_unbuffered_query() devuelve TRUE

en caso de éxito o FALSE si ocurre un error.

Notes

Nota: Los beneficios de mysql_unbuffered_query() vienen por un precio: No puede usar mysql_num_rows() ni mysql_data_seek() en un conjunto de resultados devuelto por mysql_unbuffered_query(). También tendrá que recuperar todas las filas de resultado de una consulta SQL sin búfer, antes de poder enviar una nueva consulta SQL a MySQL.

Ver también

mysql_query()

Anterior Inicio Siguiente

mysql_thread_id Subir MySQL Functions (PDO_MYSQL)

Página 51 de 51Funciones MySQL

03/09/2012file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm