Funciones de PHP (MySql)

MySql

La lista de funciones disponibles es la siguiente:

  • mysql_affected_rows: Otiene el número de tuplas modificadas en la última operacion MySql.
    int mysql_affected_rows(int [identificador de link])
    Devuelve el número de líneas afectadas por la última operación, INSERT, UPDATE o DELETE, asociadas con el identificador que se especifica. Si no se especifica el link, se asume que se refiere al último.
    Excepción: Si la última operación ha borrado todos los registros de una tabla, esta función devuelve 0.
    Esta función no tiene efecto con ninguna operación SELECT, puesto que no modifican ninguna línea.
  • mysql_change_user: Modifica el usuario responsable de las operaciones.
    int mysql_change_user(string user, string password, string[database], int [identificador de link]
    Los parámetros database y link son opcionales.
    Si la nueva combinación de usuario y password no es correcta, seguirá activa la actual.

  • mysql_close: Cierra la conexión MySql.
    int mysql_close(int [identificador de link]
    Esta función cierra la conexión permanente que mantiene el link. El parámetro es opcional. Si no se especifica, se cerrará la última conexión abierta.
    Si una conexión no se cierra, el script la cierra automáticamente al terminar su ejecución.
    Esta función no opera correctamente con las conexiones abiertas con la función mysql_pconnect().

  • mysql_connect: Open a connection to a MySQL Server.
    int mysql_connect(string[hostname [:port][:/path/to/socket]], string[username],string [password])
    Esta función establece una conexión a un servidor mysql. Todos los argumentos son opcionales y los valores por defecto son localhost, el usuario dueño del proceso, sin password.
    Si realizas dos veces una llamada a esta función con los mismos parámetros, devuelve el mismo identificador que para la llamada anterior.
    Todas las conexiones terminan al terminar la ejecución del script, a no ser que se elimine la conexión llamando a la función mysql_close().

  • mysql_create_db: Crea una base de datos en el gestor de Bases de Datos.
    int mysql_create_db(string databaseName, int [identificador del link])
    Esta función crea una nueva base de datos asociada al link especificado.
    Para mantener la coherencia con otras versiones, se utiliza mysql_createdb()

  • mysql_data_seek: Realiza un movimiento en el puntero de los datos resultado.
    int mysql_data_seek(int result_identifier, int row_number)
    Esta función permite que el puntero a los resultados apunte a la línea especificada.
    El número de líneas comienza en 0.

  • mysql_db_query: Realiza una consulta a una base de datos.
    int mysql_db_query(string database, string query, int [identificador del link]
    Selecciona la base de datos database y ejecuta una consulta. Si no se especifica el link, utiliza el último abierto, si no existe, intenta optener uno llamando internamente a la función mysql_connect() sin argumentos.

  • mysql_drop_db: Realiza una operación Drop sobre una base de datos.
    int mysql_drop_db(string database_name, int [identificador del link])
    Devuelve True o False según haya o no tenido éxito.
    Nota: Cuidado, según la versión de MySql, borra toda la base de datos aún conteniendo tablas con datos.

  • mysql_errno: Devuelve un código de error relacionado con la última operación MySql realizada.
    int mysql_errno(int [identificador del link]
    Esta función devuelve el número del código de error que devuelve el servidor MySql.

  • mysql_error: Devuelve el mensaje de error asociado a un código concreto relacionado con la última operación MySql realizada.
    string mysql_error(int [identificador del link]
    Devuelve la cadena asociada a un error que posee el identificador de conexión que se especifica.

  • mysql_fetch_array: Introduce el resultado en un array asociativo.
    array mysql_fetch_array(int result, int [result type])
    Esta función es una versión extendida de mysql_fetch_row(). Lo que hace es almacenar el resultado en un array indexado, almacenando así los datos en un índice asociativo utilizando los nombres de los campos como claves.
    Si existen más de una columna con el mismo nombre, tendrá precedencia la última columna. Para acceder a lal otras columnas con el mismo nombre, se debe indexar la columna o hacerun alias para ella.
    Ejemplo:
      select tabla1.precio as precio 1, tabla2.precio as precio2 from tabla1, tabla2
    El segundo argumento, es una constante que puede tomar los siguientes valores.

    • MYSQL_ASSOC
    • MYSQL_NUM
    • MYSQL_BOTH

  • mysql_fetch_field: Devuelve un objeto con la información de un resultado.
    object mysql_fetch_field(int result, int [field_offset])
    Devuelve un objeto con la información que contiene result Puede utilizarse par obtener información de los campos de ciertas consultas. Si el campo del desplazamiento no está especificado, se selecciona el siguiente dato que no haya sido ya asignado mediante esta función.
    Las propiedades del objeto son:
    • name: Nombre del campo
    • table: Nombre de la tabla a la que pertenece el campo.
    • max_length: Longitud máxima.
    • not_null: Será verdadero si el campo poosee esta propiedad.
    • primary_key: Verdadero si el campo es la clave principal.
    • unique_key: Verdadero si el campo es clave única.
    • multiple_key: Verdadero si el campo no es clave única.
    • numeric: Verdadero si se trata de un campo numérico.
    • blob: Verdadero si la columna es a BLOB.
    • type: Tipo de la columna.
    • unsigned: Verdadero si se trata de un dato sin signo.
    • zerofill: Verdadero si la columna tiene la propiedad zerofill.

  • mysql_fetch_lengths: Obtener la longitud de los resultados.
    array mysql_fetch_lengths(int result)
    Devuelve un array que contiene las longitudes de todos los campos que forman el último registro asignado con la función mysql_fetch_row(), mysql_fetch_array() o mysql_fetch_object().

  • mysql_fetch_object: Devuelve el resultado como un objeto.
    object mysql_fetch_object(int result, int [result_type])
    Devuelve un objeto con las propiedades del último registro extraido de un resultado.
    Esta función es igual que mysql_fetch_array() con la diferencia de que se obtiene un objeto en vez de un array.
    El segundo argumento, es una constante que puede tomar los siguientes valores.

    • MYSQL_ASSOC
    • MYSQL_NUM
    • MYSQL_BOTH

  • mysql_fetch_row: Devuelve el resultado como un array.
    array mysql_fetch_row(int result)
    Devuelve un array con un registro del resultado o false en el caso de que no existan registros.
    Si se llama dos veces a esta función, él asignará el primer registro del resultado la primera vez y el segundo registro del resultado la segunda vez.

  • mysql_field_name: Devuelve el nombre de un campo especificado en un resultado.
    string mysql_field_name(int result, int field_index)
    Devuelve el nombre del campo que se especifica, mediante el orden que ocupe dentro del resultado.

  • mysql_field_seek: Asigna el puntero de los resultados a una posición determinada.
    int mysql_field_seek(int result, int field_offset)
    Busca el desplazamiento que se especifica en el segundo argumento, dentro del resultado.

  • mysql_field_table: Obtiene el nombre de la tabla de un campo especificado.
    string mysql_field_table(int result, int field_offset)

  • mysql_field_type: Obtiene el tipo de un campo especificado.
    Obtiene el nombre de la tabla para el campo que se indica en el desplazamiento.

    string mysql_field_type(int result, int field_offset)
    Se devuelve el tipo del campo que se indica mediante el desplazamiento.
    Las cadenas que devuelve pueden ser:

    • int
    • real
    • string
    • blob
    • Otros tipos detallados en la documentación de MySql.

  • mysql_field_flags: Obtiene los "Flags" asociados del campo especificado.
    string mysql_field_flags(int result, int field_offset)
    Devuelve una cadena con las propiedades del campo separadas por un espacio. Para partir esa cadena se puede utilizar la función explode()
    Las palabras que puede devolver son:

    • not_null
    • primary_key
    • unique_key
    • multiple_key
    • blob
    • unsigned
    • zerofill
    • binary
    • enum
    • auto_increment
    • timestamp

  • mysql_field_len: Obtiene las longitud de un campo especificado.
    int mysql_field_len(int result, int field_offset)
    Devuelve la longitud del campo especificado.

  • mysql_free_result: Libera la memoria de los resultados.
    int mysql_free_result(int result)
    Libera la memoria que utiliza el parámetro.

  • mysql_insert_id: Obtiene el identificador de la última operación INSERT.
    int mysql_insert_id(int [link_identifier] )
    Devuelve el ID generado para un campo AUTO_INCREMENTED. Devolverá el id autogenerado devuelto por la última operación INSERT del enlace que se especifica como argumento.
    Si el identificador no se especifica, se utiliza la última conexión abierta.

  • mysql_list_fields: Lista los campos resultado.
    int mysql_list_fields(string database_name, string table_name, int [link_identifier]
    Devuelve información del nombre de la tabla que se proporciona. El puntero que devuelve, puede ser utilizado con las funciones mysql_field_flags(), mysql_field_len(), mysql_field_name() y mysql_field_type().
    El resultado es un entero positivo, sólo devuelve -1 en caso de que exista algún error.

  • mysql_list_dbs: Lista las bases de datos disponibles en el servidor MySQL.
    int mysql_list_dbs(int [link_identifier] )
    Devuelve un puntero que contiene la lista de bases de datos disponibles en ese servidor MySql.
    Con la información que devuelve, puede llamarse a la función mysql_tablaname().

  • mysql_list_tables: Lista las tablas de una base de datos MySql.
    int mysql_list_tables(string database, int [link_identifier] )
    Extrae un putero a la lista de tablas que están en una base de datos.
    Para extraer el nombre de las tablas se puede posteriormente utilizar mysql_db_query() o mysql_tablename().

  • mysql_num_fields: Otiene el número de campos del resultado.
    int mysql_num_fields(int result);
    Devuelve el número de campos que contiene el parámetro resultado.

  • mysql_num_rows: Obtiene el número de líneas del resultado.
    int mysql_num_rows(int result)
    Devuelve el número de líneas que contiene el parámetro resultado.

  • mysql_pconnect: Abre una conexión permanente con una base de datos.
    int mysql_pconnect(string [hostname [:port] [:/path/to/socket] ] , string [username] , string [password] )
    Devuelve una conexión persistente a un servidor MySql.
    Todos los argumentos son opcionales y sus valores son los mismos que para la función mysql_connect().
    Esta función primero, intenta encontrar una conexión ya existente, si la encuentra, devuelve un identificador para ella, y en el caso de que no la encuentre, abre una nueva conexión permanente.
    Despues de esto, mantiene la conexión hasta que finaliza la ejecución del script.
    Hay que tener cuidado, porque mysql_close() no cierra conexiones abiertas con esta función.

  • mysql_query: Envia una consulta SQL a MySQL.

    int mysql_query(string query, int [identificador del link] )
    Envía una consulta a una base de datos activa en el servidor asociado al link que se especifica. En el caso de que no se especifique ninguna conexión abierta, la función intenta reestablecer una conexión con la función mysql_connect().
    La cadena de la consulta, debe terminar con ;.
    La función devuelve TRUE o FALSE si la consulta tiene éxito. Si el valor devuelto es TRUE, significa que la consulta puede ser realizada, no que existan datos que respondan a esa consulta.
    Para consultar cuantas líneas responden a esa consulta, se puede utilizar la función mysql_affecter_rows() y nos dirá cuantas líneas se han visto afectadas por la última operación INSERT, DELETE, REPLACE o UPDATE. En el caso de tratarse de una operación SELECT la función mysql_query() devuelve un identificador de resultado que se puede utilizar con la función mysql_result().

  • mysql_result: Obtiene los datos resultados.
    int mysql_result(int result, int row, mixed [field] )
    Devuelve el contenido de una celda de la tabla dinámica que devuelve MySql como resultado de una operación previa.
    El último argumento es opcional y puede contener el desplazamiento del campo que se desea obtener, el nombre del campo o algo como tabla.campo o el alias del campo que se desee consultar si se establecio previamente.
    Cuando se trabaja con amplios conjuntos de resultados, es mejor utilizar alguna de las funciones que extraen un registro de esa consulta.
    Hay que tener cuidado de no hacer llamadas a funciones que obtienen resultados de result junto con esta función, puesto que el puntero que va leyendo de los resultados, puede perderse.

  • mysql_select_db: Selecciona una base de datos MySql.
    int mysql_select_db(string database_name, int [identificador del link] )
    Esta función asigna la base de datos activa en el servidor asociado al identificador del link.

  • mysql_tablename: Obtiene el nombre de la tabla de un campo.
    string mysql_tablename(int result, int i)
    Esta función devuelve el nombre de una tabla de un puntero de resultados que ha devuelto previamente la función mysql_num_rows.


Postgress

La lista de funciones para Postgress y para cualquier otro servidor podeis encontrarla en el manual de PHP.