Pgina 1 de 51
Requisitos
Para contar con stas funciones, debe compilar PHP con soporte MySQL.
Instalacin
Para la compilacin, simplemente use la opcin de configuracin --with-mysql[=DIR], en donde el valor opcional [DIR] apunta al directorio de instalacin de MySQL. Aunque esta extensin de MySQL es compatible con MySQL 4.1.0 y posteriores, no soporta la funcionalidad extra que tales versiones ofrecen. Para eso, use la extensin MySQLi. Si quisiera instalar la extensin mysql junto con la extensin mysqli, debe usar la misma biblioteca de cliente para 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 opcin de configuracin --with-mysql[=DIR] para incluir el soporte para MySQL. Es posible descargar las cabeceras y bibliotecas desde MySQL.
PHP 5+
El soporte para MySQL ya no es habilitado por defecto, as que el DLL php_mysql.dll DLL debe habilitarse al
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 2 de 51
interior de php.ini. Asimismo, PHP necesita acceder a la biblioteca de cliente MySQL. Un archivo de nombre libmysql.dll es incluido en la distribucin 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 "Cmo agrego mi directorio PHP a la ruta PATH en Windows" para ms informacin sobre cmo hacerlo. Aunque copiar libmysql.dll al directorio de sistema de Windows tambin funciona (ya que el directorio de sistema es parte del PATH del sistema por defecto), tal accin no es recomendada. Al igual que ocurre con cualquier otra extensin (como php_mysql.dll), la directiva de PHP extension_dir debe definirse con el directorio en donde estn ubicadas las extensiones PHP. Vea tambin las Instrucciones de Instalacin 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 se debe a que php_mysql.dll o libmysql.dll no pueden encontrarse por el sistema.
library './php_mysql.dll'",
PHP_INI_SYSTEM PHP_INI_SYSTEM PHP_INI_SYSTEM PHP_INI_ALL Disponible desde PHP 4.3.0. PHP_INI_ALL PHP_INI_ALL Disponible desde PHP 4.0.1. PHP_INI_ALL PHP_INI_ALL PHP_INI_ALL PHP_INI_SYSTEM en PHP <= 4.3.2. Disponible mysql.connect_timeout "60" PHP_INI_ALL desde PHP 4.3.0. For further details and definitions of the PHP_INI_* constants, see the Apndice H. A continuacin se presenta una corta explicacin de las directivas de configuracin.
mysql.allow_persistent
boolean
integer
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Fu nciones MySQL
Pgina3 de 51
mysql.max_links
integer
El nmero mximo de conexiones con MySQL por proceso, inclu yendo conexiones persistentes.
mysql.trace_mode
boolean
Modo de ra streo. Cu a ndo se ha bilitamysql.trace_mode, se mu estra na dvertencia s pa ralaa pertu rade ta bla s/ndices, conju ntos de resu lta dos no libera dos, y errores SQL. (Se introdu jo en PHP 4.3.0)
mysql.default_port
string
El nmero de pu erto TCP predetermina do pa rau sa r cu a ndo se conectacon el servidor de ba ses de da tos, si no se indicaotro. Si no se indicau n va lor predetermina do, el pu erto se obtendr de lava ria ble de entorno MYSQL_TCP_PORT, laentra damysql-tcp en /etc/services o laconsta nte de tiempo de compila cin MYSQL_PORT, en ese orden. En Win32 slo se u salaconsta nte MYSQL_PORT.
mysql.default_socket
string
El nombre de socket predetermina do aser u sa do cu a ndo se rea licen conexiones con u n servidor de ba se de da tos loca l, si no se indicaa lgn otro.
mysql.default_host
string
Lamqu inaa nfitrionapredetermina daaser u sa dacu a ndo se rea licen conexiones con u n servidor de ba ses de da tos, si no se indicaotro va lor. No es a plica ble en SQL sa fe mode.
mysql.default_user
string
El nombre de u su a rio prodetermina do pa raconecta rse a l servidor de ba ses de da tos si no se indicaotro. No es a plica ble ba jo SQL sa fe mode.
mysql.default_password
string
Lacontra seapredetermina daau sa r cu a ndo se rea licen conexiones con el servidor de ba ses de da tos, si no se indicaotro va lor. No es a plica ble en SQL sa fe mode.
mysql.connect_timeout
integer
Tiempo de esperamximo de conexin, en segu ndos. Ba jo Linu x este tiempo de esperaes u sa do ta mbin cu a ndo se esperalaprimerarespu estadel servidor.
Tipos de recursos
Ha y dos tipos de recu rsos u sa dos en el mdu lo MySQL. El primero es el identifica dor de enla ce pa rau na conexin de ba se de da tos, el segu ndo es u n recu rso qu ea lma cenael resu lta do de u naconsu lta .
Constantes predefinidas
Esta s consta ntes estn definida s por estaextensin y esta rn disponibles sola mente cu a ndo laextensin hasido o bien compila dadentro de PHP o gra ba dadinmica mente en tiempo de ejecu cin. A pa rtir de PHP 4.3.0, es posible especifica r ba ndera s de cliente a diciona les pa rala s fu nciones mysql_connect() y mysql_pconnect(). La s sigu ientes consta ntes estn definida s: Tabla 2. Constantes de cliente MySQL Constante MYSQL_CLIENT_COMPRESS Descripcin Usa r protocolo de compresin
03/09/2012
Pgina 4 de 51
MYSQL_CLIENT_IGNORE_SPACE Permitir espacio s despus de no mbres de funcio nes Permitir tanto s segundo s de inactividad co moindique MYSQL_CLIENT_INTERACTIVE interactive_timeo ut (en lugar de wait_timeo ut) antes de cerrar la co nexin Usar encripcin SSL. Esta bandera se encuentra dispo nible nicamente co n la versin 4.x oms reciente de la biblio teca cliente de MySQL. La MYSQL_CLIENT_SSL versin 3.23.x se distribuye tantoco n PHP 4 co moco n lo s binario s de Windo ws de PHP 5. La funcin mysql_fetch_array() usa una co nstante para lo s diferentes tipo s de matrices de resultado . Las siguientes co nstantes estn definidas: Tabla 3. Constantes MySQL-fetch Constante Descripcin MYSQL_ASSOC Las co lumnas so n devueltas en la matriz usandoel no mbre del campoco mondice. Las co lumnas so n devueltas en la matriz teniendotantoun ndice numricoco moun ndice MYSQL_BOTH co rrespo ndiente al no mbre del campo . Las co lumnas so n devueltas en la matriz teniendoun ndice numricoa lo s campo s. Este MYSQL_NUM ndice co mienza en 0, el primer campodel resultado .
Notes
Nota: La mayo ra de funcio nes de MySQL aceptan identificador_enlace co moltimo parmetroo pcio nal. Si noes definido , se utiliza la ltima co nexin abierta. Si noexiste, se intenta establecer una co nexin co n lo s parmetro s predeterminado s definido s en php.ini. Si notiene xito , las funcio nes devuelven FALSE.
Ejemplos
Este sencilloejemplomuestra cmoco nectarse, ejecutar una co nsulta, imprimir las filas resultantes y desco nectarse de una base de dato s MySQL. Ejemplo 1. Ejemplo general de la extensin 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ó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ó: ' . mysql_error()); // Impresion de resultados en HTML echo "<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 resultados mysql_free_result($resultado); // Cerrar la conexion mysql_close($enlace);
file:///C:/Users/Aleix/AppData/Lo cal/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 5 de 51
?>
Tabla de contenidos mysql_affected_rows -- Devuelve el nmero de filas afectadas de la ltima operacin MySQL mysql_change_user -- Cambia el usuario conectado en la conexin activa mysql_client_encoding -- Devuelve el nombre del juego de caracteres mysql_close -- cierra el enlace con MySQL mysql_connect -- Abre una conexin a un servidor MySQL mysql_create_db -- Crea una base MySQL mysql_data_seek -- Mueve el puntero interno mysql_db_name -- Obtener datos de resultado mysql_db_query -- Envia una sentencia MySQL al servidor mysql_drop_db -- Borra una base de datos MySQL mysql_errno -- Deuelve el nmero del mensaje de error de la ltima operacin MySQL mysql_error -- Devuelve el texto del mensaje de error de la ltima operacin MySQL mysql_escape_string -- Escapa una cadena para su uso en mysql_query mysql_fetch_array -- Extrae la fila de resultado como una matriz asociativa, una matriz numrica o ambas mysql_fetch_assoc -- Recupera una fila de resultado como una matriz asociativa mysql_fetch_field -- Extrae la informacin 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 objeto mysql_fetch_row -- Devuelve una fila de resultado como matriz mysql_field_flags -- Devuelve las banderas asociados con el campo especficado en un resultado mysql_field_len -- Devuelve la longitud del campo especficado mysql_field_name -- Devuelve el nombre del campo especficado en un resultado mysql_field_seek -- Asigna el puntero del resultado al offset del campo especficado mysql_field_table -- Devuelve el nombre de la tabla donde est el campo especficado mysql_field_type -- Devuelve el tipo del campo especficado en un resultado mysql_free_result -- Libera la memoria del resultado mysql_get_client_info -- Obtener informacin del cliente MySQL mysql_get_host_info -- Obtener informacin de la mquina anfitriona MySQL mysql_get_proto_info -- Obtener informacin del protocolo MySQL mysql_get_server_info -- Obtener informacin del servidor MySQL mysql_info -- Obtiene informacin sobre la consulta ms reciente mysql_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 MySQL mysql_list_processes -- Lista los procesos MySQL mysql_list_tables -- Lista las tablas en una base de datos MySQL mysql_num_fields -- devuelve el nmero de campos de un resultado mysql_num_rows -- Devuelve el nmero de filas de un resultado mysql_pconnect -- Abre una conexin persistente al servidor MySQL mysql_ping -- Efectuar un chequeo de respuesta (ping) sobre una conexin de servidor o reconectarse si no hay conexin mysql_query -- Enva una consulta de MySQL mysql_real_escape_string -- Escapa caracteres especiales de una cadena para su uso en una sentencia SQL mysql_result -- Devuelve datos de un resultado mysql_select_db -- Selecciona un base de datos MySQL mysql_stat -- Obtener el status actual del sistema mysql_tablename -- Devuelve el nombre de la tabla de un campo mysql_thread_id -- Devuelve el ID del hilo actual mysql_unbuffered_query -- Enva una consulta SQL a MySQL, sin recuperar ni colocar en bfer las filas de resultado
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 6 de 51
mysql_affected_rows
(PHP 3, PHP 4, PHP 5) mysql_affected_rows -- Devuelve el nmero de filas afectadas de la ltima operacin MySQL
Descripcin
int mysql_affected_rows ( [int identificador_de_enlace] ) mysql_affected_rows() devuelve el nmero 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() despus del INSERT, UPDATE, o DELETE, no despus del commit. Si la ltima sentencia fue un DELETE sin clausula WHERE, todos los registros han sido borrados de la tabla pero esta funcin 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 nmero de filas encontradas, solo el nmero 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 funcin regresa el nmero de registros borrados ms el nmero de registros insertados. Para obtener el nmero de fils regresadas por un SELECT, es posible usar tambin mysql_num_rows(). Si la ltima consulta fall, esta funcin regresar -1. Ejemplo 1. Delete-Query
<?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()); ?>
Ejemplo 2. Update-Query
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 7 de 51
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"); ?>
mysql_change_user
(PHP 3 >= 3.0.13) mysql_change_user -- Cambia el usuario conectado en la conexin activa
Descripcin
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 conexin activa, o si se especfica, en la conexin determinada por el identificador_de_enlace opcional. Si se especfica la base de datos, sta ser la base por defecto despus del cambio de usuario. Si la nueva combinacin de usuario/password no est autorizada, el usuario actualmente conectado permanece activo. Nota: Esta funcin es obsoleta y solo est disponible en PHP 3 y requiere MySQL 3.23.3 o superior.
mysql_client_encoding
(PHP 4 >= 4.3.0, PHP 5) mysql_client_encoding -- Devuelve el nombre del juego de caracteres
Descripcin
string mysql_client_encoding ( [resource id_enlace] ) Recupera la variable character_set de MySQL.
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 8 de 51
Lista de parmetros
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 conexin actual.
Ejemplos
Ejemplo 1. Ejemplo de mysql_client_encoding()
<?php = mysql_connect('localhost', 'mysql_user', 'mysql_password'); $enlace $juego_cars = mysql_client_encoding($enlace); echo "El juego de caracteres actual es: $juego_cars\n"; ?>
Ver tambin
mysql_real_escape_string()
mysql_close
(PHP 3, PHP 4, PHP 5) mysql_close -- cierra el enlace con MySQL
Descripcin
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 especficado. Si no se especfica 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 ejecucin del script. Vea tambi liberar recursos.
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 9 de 51
mysql_close() no cerrar los enlaces persistentes generados con 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); ?>
mysql_connect
(PHP 3, PHP 4, PHP 5) mysql_connect -- Abre una conexin a un servidor MySQL
Descripcin
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 conexin 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 vaco). El hostname puede incluir tambien un nmero de puerto . ej. "hostname:puerto" o un camino al socket ej. ":/camino/al/socket" para localhost. Nota: Siempre que especficque "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 configuracin PHP y dejar el campo del servidor en blanco. Soporte para ":puerto" fue aadido en PHP 3.0B4. Soporte para ":/camino/al/socket" fue aadido 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 parmetro new_link modifica este comportamiento y hace que mysql_connect() siempre abrir un nuevo enlace, an si mysql_connect() haba sido llamado antes con los mismos parmetros. El par client_flags puede ser una combinacin de las constantes: MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE o MYSQL_CLIENT_INTERACTIVE. Nota: El parmetro new_link estuvo disponible en PHP 4.2.0
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 10 de 51
El parmetro client_flags estuvo disponible en PHP 4.3.0 El enlace al servidor sera cerrado tan pronto como la ejecucin del script finalice, a menos que se cierre antes explcitamente llamando a 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); ?>
mysql_create_db
(PHP 3, PHP 4, PHP 5) mysql_create_db -- Crea una base MySQL
Descripcin
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. 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"; } ?>
Por razones de compatibilidad puede usarse mysql_createdb() igualmente. Nota: La funcin mysql_create_db() es obsoleta. Es preferible usar mysql_query() para ejecutar una sentencia SQL CREATE DATABASE en su lugar. Aviso
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 11 de 51
Esta funcin no ser disponible y la extensin de MySQL fue construida/compilada en una libreria de cliente de MySQL 4.X. Ver tambin: mysql_query().
mysql_data_seek
(PHP 3, PHP 4, PHP 5) mysql_data_seek -- Mueve el puntero interno
Descripcin
int mysql_data_seek ( int id_resultado, int numero_de_fila ) mysql_data_seek() mueve el puntero de fila interno a la fila especficada para el identificador de resultado. La prxima llamada a mysql_fetch_ro w() devolver esa fila. Devuelve TRUE si todo se llev a cabo correctamente, FALSE en caso de fallo. empieza en . El numero_de_fila debe ser un valor dentro del rango de o a mysql_num_ro ws () - 1. Sin embargo si el resultado est vaco (mysql_num_ro ws() == 0), una bsqueda a 0 fallar con E_WARNING y mysql_data_seek() regresar FALSE.
numero_de_fila
No ta: La funcin mysql_data_seek() puede ser usada solo en conjunto con mysql_query(), no con mysql_unbuffered_query(). Ejemplo1. Ejemplode 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"; }
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 12 de 51
mysql_free_result($result); ?>
mysql_db_name
(PHP 3 >= 3.0.6, PHP 4, PHP 5) mysql_db_name -- Obtener datos de resultado
Descripcin
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 parmetros
resultado
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()
<?php error_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";
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 13 de 51
$i++; } ?>
Notes
Nota: For downward compatibility, the following deprecated alias may be used: mysql_dbname()
Ver tambin
mysql_list_dbs() mysql_tablename()
mysql_db_query
(PHP 3, PHP 4, PHP 5) mysql_db_query -- Envia una sentencia MySQL al servidor
Descripcin
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 funcin tambin 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 funcin 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 otras palabras usted no puede usar esta funcin 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 funcin. Ver tambinmysql_connect(), mysql_query(). Nota: Esta funcin es obsoleta desde PHP 4.0.6 no use esta funcin. Use mysql_select_db() y mysql_query().
mysql_drop_db
(PHP 3, PHP 4, PHP 5)
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 14 de 51
Descripcin
int mysql_dro p_db ( cadena base_de_datos [, int identificador_de_enlace] ) mysql_dro p_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 tambin: mysql_create_db(). Por razones de compatibilidad puede usarse mysql_dro pdb() igualmente. Aunque es obsoleta. No ta: La funcin mysql_dro p_db() es obsoleta. Es preferible usar mysql_query() para enviar una sentencia SQL DROP DATABASE en su lugar. Aviso Esta funcin no est disponible si la extensin de MySQL fue compilada para las librerias cliente de MySQL 4.x. Vea tambin mysql_query().
mysql_errno
(PHP 3, PHP 4, PHP 5) mysql_errno -- Deuelve el nmero del mensaje de error de la ltima operacin MySQL
Descripcin
int mysql_errno( [int identificador_de_enlace] ) Regresa el nmero de error de la ltima funcin, 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 cdigo de error. Note que esta funcin solo regresa el cdigo de error de la funcin MySQLm s recientemente executada (sin incluir mysql_erro r() y mysql_errno ()), as que si quiere usarla, asegurese de chear el valor antes de llamar a otra funci de MySQL. Ejemplo1. Ejemplode 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"; } ?>
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 15 de 51
Nota: Si el parmetro opcional es especficado el identificador_de_enlace es usado para obtener el cdigo de error. Si no, se usa el ltimo enlace abierto. Ver tambin: mysql_error() y Cdigos de error MySQL.
mysql_error
(PHP 3, PHP 4, PHP 5) mysql_error -- Devuelve el texto del mensaje de error de la ltima operacin MySQL
Descripcin
cadena mysql_error ( [int identificador_de_enlace] ) Regresa el texto del error de la ltima funci MySQL o '' (cadena vaca) si no ocurri error. Si no se especfica el identificador de enlace en la funcin 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 cdigo de error. Note que esta funcin solo regresa el cdigo de error de la funcin 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_error
<?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"; ?>
Anterior mysql_errno
Inicio Subir
Siguiente mysql_escape_string
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 16 de 51
mysql_escape_string
(PHP 4 >= 4.0.3, PHP 5) mysql_escape_string -- Escapa una cadena para su uso en mysql_query
Descripcin
string mysql_escape_string ( string cadena_no_escapada ) Esta funcin escapa la cadena_no_escapada, de modo que sea seguro usarla en un llamado a mysql_query(). Esta funcin es obsoleta. Esta funcin es idntica a mysql_real_escape_string() con la excepcin de que mysql_real_escape_string() recibe un gestor de conexin y escapa la cadena de acuerdo al juego de caracteres actual. mysql_escape_string() no recibe un argumento de conexin, y no hace caso al valor actual del juego de caracteres.
Lista de parmetro s
cadena_no_escapada
Registrode cambio s
Versin 4.3.0 Descripcin Esta funcin se convirti en obsoleta, no use esta funcin. En su lugar, use mysql_real_escape_string().
Ejemplo s
Ejemplo1. Ejemplode mysql_escape_string()
<?php $item = "Zak's Laptop"; $item_escapado = mysql_escape_string($item); printf("La cadena escapada: %s\n", $item_escapado); ?>
No tes
No ta: mysql_escape_string() no escapa % ni _.
Ver tambin
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 17 de 51
mysql_fetch_array
(PHP 3, PHP 4, PHP 5) mysql_fetch_array -- Extrae la fila de resultado como una matriz asociativa, una matriz numrica o ambas
Descripcin
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 ms filas. mysql_fetch_array() es una versin extendida de mysql_fetch_ro w(). Adems de guardar los datos en el ndice numrico de la matriz, guarda tambin los datos en los ndices asociativos, usando el nombre de campo como clave. Si dos o ms 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) Ejemplo1. Co nsulta co n campo s repetido s usandoalias
SELECT table1.field AS foo, table2.field AS bar FROM table1, table2
La funcin mysql_fetch_array() no es significativemente mas lenta que mysql_fetch_ro w(), sin embargo tiene un valor aadido 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 caraterstica fue agregada en PHP 3.0.7.
MYSQL_BOTH
Usando MYSQL_BOTH, usted obtendr una matrix con ndices asociativos y numricos. Usando MYSQL_ASSOC, usted solo tendr ndices asociativos (tal como funciona mysql_fetch_asso c()), usando MYSQL_NUM, solo obtendr los ndices numricos (tal como si fuera mysql_fetch_ro w()). No ta: Los nombres de campos retornados por esta funcin diferencian entre mayusculas y minusculas. No ta: Esta funcion define campos NULL como valores PHP NULL. Vea tambin mysql_fetch_ro w(), mysql_fetch_asso c(), mysql_data_seek(), y mysql_query(). Ejemplo2. mysql_fetch_array() co n MYSQL_NUM
<?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error());
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 18 de 51
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); ?>
mysql_fetch_assoc
(PHP 4 >= 4.0.3, PHP 5) mysql_fetch_assoc -- Recupera una fila de resultado como una matriz asociativa
Descripcin
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 parmetro opcional. nicamente devuelve una matriz asociativa.
Lista de parmetros
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 19 de 51
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 ms filas disponibles. Si dos o ms 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 numricos mediante el uso de mysql_fetch_row() o agregar sobrenombres. Vea el ejemplo en la descripcin de mysql_fetch_array() respecto a los sobrenombres.
Ejemplos
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_usuario while ($fila = mysql_fetch_assoc($resultado)) { echo $fila["id_usuario"]; echo $fila["nombre_completo"]; echo $fila["status_usuario"]; } mysql_free_result($resultado); ?>
Notes
Rendimiento: Algo importante a notar es que el uso de mysql_fetch_assoc() no es
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina20 de 51
significativamente ms lento que el uso de mysql_fetch_row(), a l mismo tiempo que provee un va lor a grega do considera ble. Nota: Los nombres de ca mpos retorna dos por estafuncin diferencia n entre mayusculas y minusculas. Nota: Estafuncion define ca mpos NULL como va lores PHP NULL.
Ver tambin
mysql_fetch_row() mysql_fetch_array() mysql_data_seek() mysql_query() mysql_error()
mysql_fetch_field
(PHP 3, PHP 4, PHP 5) mysql_fetch_field -- Extra e lainforma cin de unacolumnay ladevuelve como un objeto.
Descripcin
objeto mysql_fetch_field ( int id_resulta do [, int sa lto] ) Devuelve un objeto que contiene lainforma cin del ca mpo. Puede usa rse mysql_fetch_field() pa raobtener informa cin sobre ca mpos en un resulta do. Si no se especficael sa lto, se extra e el siguiente ca mpo que toda vano hasido extra ido. con mysql_fetch_field(). La s propieda des del objeto son: na me - nombre de lacolumna ta ble - na me de lata blaalaque pertenece lacolumna ma x_length - longitud mximade lacolumna not_null - 1 si lacolumnano puede contener un va lor nulo prima ry_key - 1 si lacolumnaes cla ve prima ria unique_key - 1 si lacolumnaes cla ve nica multiple_key - 1 si lacolumnaes cla ve no nica numeric - 1 si lacolumnaes numrica blob - 1 si lacolumnaes un BLOB
03/09/2012
Funciones MySQL
Pgina 21 de 51
type - el tipo de la columna unsigned - 1 si la columna es unsigned zerofill - 1 si la columna es zero-filled Ver tambin mysql_field_seek() Nota: Los nombres de campos retornados por esta funcin diferencian entre mayusculas y minusculas. 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->blob max_length: $meta->max_length multiple_key: $meta->multiple_key name: $meta->name not_null: $meta->not_null numeric: $meta->numeric primary_key: $meta->primary_key table: $meta->table type: $meta->type unique_key: $meta->unique_key unsigned: $meta->unsigned zerofill: $meta->zerofill </pre>"; $i++; } mysql_free_result($result); ?>
mysql_fetch_lengths
(PHP 3, PHP 4, PHP 5) mysql_fetch_lengths -- Devuelve la longitud de cada salida en un resultado
Descripcin
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 22 de 51
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 tambin mysql_field_len(), mysql_fetch_row(), strlen(). Ejemplo 1. Ejemplo de mysql_fetch_lengths
<?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); ?>
mysql_fetch_object
(PHP 3, PHP 4, PHP 5) mysql_fetch_object -- Extrae una fila de resultado como un objeto
Descripcin
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 ms 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
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 23 de 51
su posicin. (los nmeros no pueden ser nombres de propiedades de objetos). Nota: Los nombres de campos retornados por esta funcin diferencian entre mayusculas y minusculas. Nota: Esta funcion define campos NULL como valores PHP NULL. Ejemplo 1. Ejemplo demysql_fetch_object()
<?php $row = mysql_fetch_object($result); /* this is valid */ echo $row->field; /* this is invalid */ //echo $row->0; ?>
La funcin es identica a mysql_fetch_array(), y casi tan rpida como mysql_fetch_row() (la diferencia es insignificante). Ejemplo 2. Ejemplo demysql_fetch_object()
<?php mysql_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); ?>
mysql_fetch_row
(PHP 3, PHP 4, PHP 5) mysql_fetch_row -- Devuelve una fila de resultado como matriz
Descripcin
array mysql_fetch_row ( int id_resultado ) Devuelve: Una matriz que corresponde a la fila selecionada, o FALSE si no quedan ms 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,
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 24 de 51
empezando por el offset 0. La llamada a mysql_fetch_row() debera devolver la prxima fila del resultado, o FALSE si no quedan ms filas. 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]; // 42 echo $row[1]; // the email value ?>
mysql_field_flags
(PHP 3, PHP 4, PHP 5) mysql_field_flags -- Devuelve las banderas asociados con el campo especficado en un resultado
Descripcin
cadena mysql_field_flags ( int id_resultado, int offset_del_campo ) mysql_field_flags() devuelve las banderas del campo especficado. Cada bandera es devuelta como una palabra y estn 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
<?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)); ?>
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 25 de 51
Array ( [0] => not_null [1] => primary_key [2] => auto_increment )
Por razones de compatibilidad puede usarse tambin mysql_fieldflags(). Sin embargo esta funci es obsoleta.
mysql_field_len
(PHP 3, PHP 4, PHP 5) mysql_field_len -- Devuelve la longitud del campo especficado
Descripcin
int mysql_field_len ( int id_resultado, int offset_del_campo ) mysql_field_len() devuelve la longitud del campo especficado. Ejemplo1. Ejemplode 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 // user@example.com would give us a length of 16 $length = mysql_field_len($result, 'email'); echo $length; ?>
Por razones de compatibilidad puede usarse tambin mysql_fieldlen(). Aunque esta funcin es obsoleta. Vea tambi mysql_fetch_lengths(), strlen().
mysql_field_name
(PHP 3, PHP 4, PHP 5) mysql_field_name -- Devuelve el nombre del campo especficado en un resultado
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 26 de 51
Descripcin
cadena mysql_field_name ( int id_resultado, int indice_del_campo ) mysql_field_name() devuelve el nombre del campo especficado. Los argumentos de la funcin son el identificador de resultado y el ndice del campo. No ta: 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. No ta: Los nombres de campos retornados por esta funcin diferencian entre mayusculas y minusculas. Ejemplo1. Ejemplomysql_field_name
<?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); ?>
Por razones de compatibilidad puede usarse tambin mysql_fieldname(). Sin embargo esta funcin es obsoleta.
mysql_field_seek
(PHP 3, PHP 4, PHP 5) mysql_field_seek -- Asigna el puntero del resultado al offset del campo especficado
Descripcin
int mysql_field_seek ( int id_resultado, int offset_del_campo )
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 27 de 51
Busca el offset del campo especficado. Si la prxima llamada a mysql_fetch_field() no incluye un offset de campo, se devolver ese campo. Ver tambin mysql_fetch_field().
mysql_field_table
(PHP 3, PHP 4, PHP 5) mysql_field_table -- Devuelve el nombre de la tabla donde est el campo especficado
Descripcin
cadena mysql_field_table ( int id_resultado, int offset_del_campo ) Devuelve el nombre de la tabla donde est el campo. Ejemplo1. Ejemplomysql_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 ?>
Por razones de compatibilidad puede usarse tambin mysql_fieldtable(). Sin embargo esta funcin es obsoleta. Vea tambin mysql_list_tables().
mysql_field_type
(PHP 3, PHP 4, PHP 5) mysql_field_type -- Devuelve el tipo del campo especficado en un resultado
Descripcin
cadena mysql_field_type ( int id_resultado, int offset_del_campo )
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Pgina 28 de 51
mysql_field_type() es similar a la funcin mysql_field_name(). Lo s argumento s so n idntico s, perose devuelve el tipode campo . El tiposer "int", "real", "string", "blob", u o tro s detallado s en la do cumentacin de MySQL. Ejemplo 1. mysql_field_type() example
<?php mysql_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(); ?>
Po r razo nes de co mpatibilidad puede usarse tambin mysql_fieldtype(). Aunque esta funcin es o bso leta.
mysql_free_result
(PHP 3, PHP 4, PHP 5) mysql_free_result -- Libera la memo ria del resultado
Descripcin
int mysql_free_result ( int id_resultado) mysql_free_result() so lonecesita ser llamada si te preo cupa usar demasiadomemo ria durante la ejecucin de tu script. To da la memo ria usada po r resultadoespecficadoen el parmetrodel identificado r de resultadoser auto mticamente liberada. Devuelve TRUE si to dose llev a caboco rrectamente, FALSE en casode fallo . If a no n-reso urce is used fo r the result, an erro ro f level E_WARNING will be emitted. It's wo rth no ting that
file:///C:/Users/Aleix/AppData/Lo cal/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 29 de 51
mysql_query() only returns a resource for SELECT, SHOW, EXPLAIN, and DESCRIBE queries. 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']; ?>
Por razones de compatibilidad puede usarse tambien mysql_freeresult(). Sin embargo esta funcin es obsoleta. Vea tambin mysql_query(), is_resource().
mysql_get_client_info
(PHP 4 >= 4.0.5, PHP 5) mysql_get_client_info -- Obtener informacin del cliente MySQL
Descripcin
string mysql_get_client_info ( void ) mysql_get_client_info() devuelve una cadena que representa la versin de la biblioteca cliente.
Valores retornados
La versin del cliente MySQL.
Ejemplos
Ejemplo 1. Ejemplo de mysql_get_client_info()
<?php printf("Información del cliente MySQL: %s\n", mysql_get_client_info()); ?>
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 30 de 51
Ver tambin
mysql_get_host_info() mysql_get_proto_info() mysql_get_server_info()
mysql_get_host_info
(PHP 4 >= 4.0.5, PHP 5) mysql_get_host_info -- Obtener informacin de la mquina anfitriona MySQL
Descripcin
string mysql_get_host_info ( [resource id_enlace] ) Describe el tipo de conexin en uso, incluyendo el nombre del equipo servidor anfitrin.
Lista de parmetros
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 conexin MySQL en uso, o FALSE si ocurre un error.
Ejemplos
Ejemplo 1. Ejemplo de mysql_get_host_info()
<?php $enlace = mysql_connect("localhost", "mysql_user", "mysql_password"); if (!$enlace) { die("No pudo conectarse: " . mysql_error()); } printf("Información del host MySQL: %s\n", mysql_get_host_info()); ?>
Ver tambin
mysql_get_client_info()
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 31 de 51
mysql_get_proto_info() mysql_get_server_info()
mysql_get_proto_info
(PHP 4 >= 4.0.5, PHP 5) mysql_get_proto_info -- Obtener informacin del protocolo MySQL
Descripcin
int mysql_get_proto_info ( [resource id_enlace] ) Recupera el protocolo MySQL.
Lista de parmetros
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
Ejemplo 1. Ejemplo de mysql_get_proto_info()
<?php $enlace = mysql_connect("localhost", "mysql_user", "mysql_password"); if (!$enlace) { die("No pudo conectarse: " . mysql_error()); } printf("Versión del protocolo MySQL: %s\n", mysql_get_proto_info()); ?>
Ver tambin
mysql_get_client_info() mysql_get_host_info() mysql_get_server_info()
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 32 de 51
mysql_get_server_info
(PHP 4 >= 4.0.5, PHP 5) mysql_get_server_info -- Obtener informacin del servidor MySQL
Descripcin
string mysql_get_server_info ( [resource id_enlace] ) Recupera la versin del servidor MySQL.
Lista de parmetros
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 versin del servidor MySQL en caso de xito, o FALSE si ocurre un error.
Ejemplos
Ejemplo 1. Ejemplo de mysql_get_server_info()
<?php $enlace = mysql_connect("localhost", "mysql_user", "mysql_password"); if (!$enlace) { die("No pudo conectarse: " . mysql_error()); } printf("Versión del servidor MySQL: %s\n", mysql_get_server_info()); ?>
Ver tambin
mysql_get_client_info() mysql_get_host_info() mysql_get_proto_info() phpversion()
Anterior
Inicio
Siguiente
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 33 de 51
mysql_get_proto_info Anterior
mysql_info Siguiente
mysql_info
(PHP 4 >= 4.3.0, PHP 5) mysql_info -- Obtiene informacin sobre la consulta ms reciente
Descripcin
string mysql_info ( [resource id_enlace] ) Devuelve informacin detallada sobre la ltima consulta.
Lista de parmetros
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 informacin sobre la sentencia en caso de xito, o FALSE si ocurre un error. Vea el ejemplo siguiente para conocer cules sentencias proveen informacin, y cul puede ser la apariencia del valor devuelto. Las sentencias que no son listadas devolvern FALSE.
Ejemplos
Ejemplo 1. Sentencias MySQL Relevantes Sentencias que devuelven valores tipo cadena. Los nmeros se encuentran nicamente para propsitos ilustrativos; sus valores correspondern 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
Notes
Nota: mysql_info() devuelve un valor diferente a FALSE para la sentencia INSERT ... VALUES slo si se indican mltiples listas de valores en la sentencia.
Ver tambin
mysql_affected_rows() mysql_insert_id()
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 34 de 51
mysql_stat()
mysql_insert_id
(PHP 3, PHP 4, PHP 5) mysql_insert_id -- Devuelve el identificador generado en la ltima llamada a INSERT
Descripcin
int mysql_insert_id ( [int identificador_de_enlace] ) mysql_insert_id() devuelve el identificador generado para un campo de tipo AUTO_INCREMENTED. Se devolver el identificador generado por el ltimo INSERT para el identificador_de_enlace. Si no se especfica 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 despus de la consulta que gener el valor. No ta: El valor de la funcin SQL de MYSQL LAST_INSERT_ID() siempre contiene el valor AUTO_INCREMENT m recientemente generado, y no se pierde su valor entre consultas. Aviso mysql_insert_id() convierte el tipo de la funcin 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 funcin interna LAST_INSERT_ID() de SQL en MySQL en una consulta SQL. Ejemplo1. Ejemplomysql_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()); ?>
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 35 de 51
mysql_list_dbs
(PHP 3, PHP 4, PHP 5) mysql_list_dbs -- Lista las bases de datos disponibles en el servidor MySQL
Descripcin
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 funcin mysql_tablename() para explotar el puntero de resultado. Ejemplo1. Ejemplomysql_list_dbs
<?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"; } ?>
w() u otra funci similar. No ta: El cdigo anterior puede funcionar igualmente con mysql_fetch_ro Por razones de compatibilidad puede usarse tambin mysql_listdbs(). Sin embargo esta funcin es obsoleta. Vea tambin mysql_db_name(), mysql_select_db().
mysql_list_fields
(PHP 3, PHP 4, PHP 5) mysql_list_fields -- Lista los campos del resultado de MySQL
Descripcin
int mysql_list_fields ( cadena base_de_datos, cadena tabla [, int dentificador_de_enlace] ) No ta: La funcin 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 informacin 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(),
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 36 de 51
mysql_field_name(), y mysql_field_type(). Un identificador de resultado es un entero positivo. La funcin devuelve -1 si se produce un error. Una cadena de caracteres describiendo el error ser introducida en $phperrmsg, y a menos que la funcin sea llamada como @mysql() el literal del error tambin ser desplegado. Ejemplo 1. Ejemplo alternativo a mysql_list_fields
<?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); } ?>
Por razones de compatibilidad puede usarse tambin mysql_listfields(). Sin embargo esta funci es obsoleta. Vea tambin mysql_field_flags(), mysql_info().
mysql_list_processes
(PHP 4 >= 4.3.0, PHP 5) mysql_list_processes -- Lista los procesos MySQL
Descripcin
resource mysql_list_processes ( [resource id_enlace] )
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 37 de 51
Lista de parmetros
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
Ejemplo 1. Ejemplo de mysql_list_processes()
<?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); ?>
Ver tambin
mysql_thread_id() mysql_stat()
mysql_list_tables
(PHP 3, PHP 4, PHP 5) mysql_list_tables -- Lista las tablas en una base de datos MySQL
Descripcin
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 funcin
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Pgina 38 de 51
mysql_db_query(). La funcin mysql_tablename() debe ser usada para extraer lo s no mbres de las tablas del puntero . El parmetrobase_de_datos es el no mbre de la base de dato s de la cual se debe extraer la lista de la tabla, a meno s que o curra un erro r mysql_list_tables() regresa FALSE Po r razo nes de co mpatibilidad puede usarse tambin mysql_listtables(). Esta funcin es o bso leta y nose reco mienda. Nota: La funcin mysql_list_tables() es o bso leta. Es preferible usar mysql_query() para enviar una sentencia SQL SHOW TABLES [FROM db_name] [LIKE 'pattern']. 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); ?>
mysql_num_fields
(PHP 3, PHP 4, PHP 5) mysql_num_fields -- devuelve el nmerode campo s de un resultado
Descripcin
int mysql_num_fields ( int id_resultado) mysql_num_fields() devuelve el nmerode campo s de un identificado r de resultado . Ver tambin: mysql_db_query(), mysql_query(), mysql_fetch_field(), mysql_num_rows(). Ejemplo 1. Ejemplo de mysql_num_fields()
file:///C:/Users/Aleix/AppData/Lo cal/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 39 de 51
<?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); ?>
Por razones de compatibilidad puede usarse tambin mysql_numfields(). Sin embargo esta funcin es obsoleta.
mysql_num_rows
(PHP 3, PHP 4, PHP 5) mysql_num_rows -- Devuelve el nmero de filas de un resultado
Descripcin
int mysql_num_rows ( int id_resultado ) mysql_num_rows() regresa el nmero de filas en un resultado. Este comando es valido solo para las sentencias SELECT. Para obtener el nmero de filas afectadas por las sentencias INSERT, UPDATE o DELETE, use mysql_affected_rows(). 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"; ?>
Nota: Si usa mysql_unbuffered_query(), mysql_num_rows() no regresar el valor correcto hasta que todas las filas en el resultado hayan sido recuperadas. Ver tambin: mysql_affected_rows(), mysql_connect(), mysql_data_seek(), mysql_select_db(), mysql_query (). Por razones de compatibilidad puede usarse tambin mysql_numrows(). Sin embargo esta fucnin
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 40 de 51
mysql_pconnect
(PHP 3, PHP 4, PHP 5) mysql_pconnect -- Abre una conexin persistente al servidor MySQL
Descripcin
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 conexin a un servidor MySQL. Todos los argumentos son opcionales, y si no existen, se asumen los valores por defecto ('localhost', nombre del usuario propietario del proceso, password vacia). El hostname puede incluir un nmero 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 aadido en 3.0B4. Soporte para ":/camino/al/socket" fue aadido en 3.0.10. mysql_pconnect() actua como mysql_connect() con dos diferencias fundamentales. Primero, durante la conexin, la funcin 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 conexin. Segundo, la conexin no ser cerrada cuando acabe la ejecucin del script. El enlace permanecer abierta para ser usado en el futuro (mysql_close() no cierra el enlace establecido con mysql_pconnect()). El parmetro 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 versin de PHP como mdulo. Vea la secci?n Conexiones Persistentes a base de datos para ms informacin. Aviso Usando conexiones persistentes puede requerir un poco de ajustar sus configuraciones de Apache y MySQL para asegurarse de que no excede el nmero de conexiones permitidas por MySQL. Anterior mysql_num_rows Anterior Inicio Subir Manual de PHP Siguiente mysql_ping Siguiente
mysql_ping
(PHP 4 >= 4.3.0, PHP 5) mysql_ping -- Efectuar un chequeo de respuesta (ping) sobre una conexin de servidor o reconectarse si no hay conexin
Descripcin
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 41 de 51
bool mysql_ping ( [resource id_enlace] ) Qhequea si est activa o no la conexin con el servidor. Si sta se ha cado, una reconexin automtica es intentada. Esta funcin puede ser usada por scripts que permanecen pasivos durante largos espacios de tiempo, para chequear si el servidor ha cerrado la conexin, y reconectarse de ser necesario.
Lista de parmetros
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 conexin con el servidor MySQL est funcionando, o FALSE de lo contrario.
Ejemplos
Ejemplo 1. Un ejemplo de mysql_ping()
<?php set_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ó, 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ón, saliendo después de la consulta #1'; exit; } mysql_free_result($result); /* Ya que la conexion sigue viva, corramos otra consulta */ $resultado2 = mysql_query($sql2); ?>
Ver tambin
mysql_thread_id() mysql_list_processes()
mysql_query
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 42 de 51
Descripcin
resource mysql_query ( string query [, resource identificador_de_enlace] ) mysql_query() enva una consulta (a la base de datos activa en el servidor asociado con el identificador_de_enlace dado).
Lista de parmetro s
query
Un identificador de enlace, como el regresado por mysql_co nnect(). Si identificador_de_enlace no es especficado, se asume el ltimo enlace abierto. Si no se ha abierto enlace, la funcin intenta establecer uno tal y como si se hubiera llamado a mysql_co nnect() sin argumentos, y lo usar. El resultado de la consulta es puesto en la memoria intermedia (buffer).
Ejemplo s
Ejemplo1. Co nsulta invlida La siguiente consulta es sintcticamente invlida 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()); } ?>
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 43 de 51
Ver tambin
mysql_connect() mysql_error() mysql_real_escape_string() mysql_result() mysql_fetch_assoc() mysql_unbuffered_query()
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
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 44 de 51
Descripcin
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 conexin, de tal modo que sea seguro usarla con mysql_query(). Si se van a insertar datos binarios, debe usarse esta funcin. mysql_real_escape_string() llama a la funcin de la biblioteca MySQL mysql_real_escape_string, la cual coloca barras invertidas antes de los siguientes caracteres: \x00, \n, \r, \, ', " y \x1a. Esta funcin debe usarse siempre (con algunas excepciones) para garantizar que los datos sean seguros antes de enviar una consulta a MySQL
Lista de parmetro s
cadena_no_escapada
The MySQL connection. If the link identifier is not specified, the last link opened by mysql_co nnect() is assumed. If no such link is found, it will try to create one as if mysql_co nnect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.
Ejemplo s
Ejemplo1. Ejemplosencillode 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)); ?>
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 45 de 51
Esto permitira que cualquiera iniciara una sesin sin una contrasea vlida. Ejemplo 3. Una consulta "Recomendable" Mediante el uso de mysql_real_escape_string() sobre cada variable se previene la inyeccin de SQL. Este ejemplo demuestra el mtodo "recomendable" para ejecutar una consulta en la base de datos, independientemente del valor de las Comillas Mgicas.
<?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 conexin 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"; } ?>
Notes
Nota: Es necesaria una conexin 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 conexin con MySQL. Nota: Si se habilita magic_quotes_gpc, aplique stripslashes() sobre los datos primero. Usar esta funcin sobre datos que ya han sido escapados los escapar dos veces.
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 46 de 51
Nota: Si esta funcin no es usada para escapar datos, la consulta es vulnerable a Ataques de Inyeccin de SQL. Nota: mysql_real_escape_string() no escapa % ni _. stos son comodines en MySQL si se combinan con LIKE, GRANT, o REVOKE.
Ver tambin
mysql_client_encoding() addslashes() stripslashes() La directiva magic_quotes_gpc La directiva magic_quotes_runtime
mysql_result
(PHP 3, PHP 4, PHP 5) mysql_result -- Devuelve datos de un resultado
Descripcin
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 utilizacin de una funcin que devuelva una fila entera ya que estas funciones son MUCHO ms rpidas que mysql_result(). Tambin, especificando un offset numrico en lugar del nombre del campo, la ejecucin ser ms rpida. Las llamadas a mysql_result() no deben mezclarse con llamadas a las otras sentencias que trabajan con un identificador de resultado. 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); ?>
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 47 de 51
mysql_fetch_object().
mysql_select_db
(PHP 3, PHP 4, PHP 5) mysql_select_db -- Selecciona un base de datos MySQL
Descripcin
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 especficado. Si no se especfica un identificador de enlace, se asume el ltimo enlace abierto. Si no hay ningn enlace abierto, la funcin intentar establecer un enlace como si se llamara a mysql_connect(). Toda llamada posterior a mysql_query() utilizar la base activada. 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()); } ?>
Ver tambin: mysql_connect(), mysql_pconnect(), mysql_query(). Por razones de compatibilidad puede usarse tambin mysql_selectdb(). Sin embargo esta funcin es obsoleta.
mysql_stat
(PHP 4 >= 4.3.0, PHP 5) mysql_stat -- Obtener el status actual del sistema
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 48 de 51
Descripcin
string mysql_stat ( [resource id_enlace] ) mysql_stat() devuelve el status actual del servidor.
Lista de parmetro s
link_identifier
The MySQL connection. If the link identifier is not specified, the last link opened by mysql_co nnect() is assumed. If no such link is found, it will try to create one as if mysql_co nnect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.
Ejemplo s
Ejemplo1. Ejemplode mysql_stat()
<?php $enlace = mysql_connect('localhost', 'usuario_mysql', 'contrasenya_mysql'); $status = explode(' ', mysql_stat($enlace)); print_r($status); ?>
Uptime: 5380 Threads: 2 Questions: 1321299 Slow queries: 0 Opens: 26 Flush tables: 1 Open tables: 17 Queries per second avg: 245.595
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 49 de 51
Ver tambin
mysql_get_server_info() mysql_list_processes()
mysql_tablename
(PHP 3, PHP 4, PHP 5) mysql_tablename -- Devuelve el nombre de la tabla de un campo
Descripcin
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 funcin mysql_num_rows() para determinar el nmero de tablas en el puntero de resultado. Use la funcin mysql_tablename() para usar este apuntador de resultado, o cualquier funcin para las tablas resultantes como mysql_fetch_array(). Ejemplo 1. Ejemplo mysql_tablename
<?php mysql_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); ?>
mysql_thread_id
(PHP 4 >= 4.3.0, PHP 5)
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 50 de 51
Descripcin
int mysql_thread_id ( [resource id_enlace] ) Recupera el ID del hilo actual. Si la conexin se ha perdido, y se ejecuta una reconexin con mysql_ping(), el ID del hilo cambiar. Esto quiere decir que slo obtenga el ID del hilo cuando lo necesite.
Lista de parmetro s
link_identifier
The MySQL connection. If the link identifier is not specified, the last link opened by mysql_co nnect() is assumed. If no such link is found, it will try to create one as if mysql_co nnect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.
Ejemplo s
Ejemplo1. Ejemplode mysql_thread_id()
<?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); } ?>
Ver tambin
mysql_ping() mysql_list_pro cesses()
mysql_unbuffered_query
(PHP 4 >= 4.0.6, PHP 5) mysql_unbuffered_query -- Enva una consulta SQL a MySQL, sin recuperar ni colocar en bfer las filas de resultado
Descripcin
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012
Funciones MySQL
Pgina 51 de 51
resource mysql_unbuffered_query ( string consulta [, resource id_enlace] ) mysql_unbuffered_query() enva la consulta SQL a MySQL, sin recuperar ni colocar en bfer las filas de resultado automticamente, 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 despus de que la primera fila ha sido recuperada: no necesita esperar hasta que la consulta SQL completa haya sido ejecutada. Cuando se usan mltiples conexiones con la BD, necesita indicar el parmetro opcional id_enlace.
Lista de parmetros
consulta
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(). Tambin tendr que recuperar todas las filas de resultado de una consulta SQL sin bfer, antes de poder enviar una nueva consulta SQL a MySQL.
Ver tambin
mysql_query()
Anterior mysql_thread_id
Inicio Subir
file:///C:/Users/Aleix/AppData/Local/Temp/~hh9314.htm
03/09/2012