Nuevas funciones en PHP 5

PHP está en constante evolución y prueba de ello son las nuevas funciones de acceso a bases de datos MySQL que están disponibles desde PHP 5, con nombres diferentes a las funciones disponibles en el pasado y que también tienen algunos cambios en el modo de trabajar. Las nuevas funciones están creadas para dar respuesta a diversas mejoras que el sistema gestor de bases de datos MySQL ha incorporado recientemente.

php5Aunque las funciones de MySQL antiguas todavía, se pueden usar,  la previsión es que se eliminen en PHP 5.5, por lo que resulta imprescindible actualizar nuestros conocimientos.

Afortunadamente, es bastante sencillo el paso a las nuevas funciones de MySQL, puesto que el esquema de funcionamiento es prácticamente el mismo, así como los nuevos nombres de funciones, que tienen muy pocas variaciones.

Dos tipos de funciones para acceso a las bases de datos MySQL

Una de las novedades que PHP nos ofrece en las recientes funciones de PHP es la incorporación de dos tipos aproximaciones al trabajo con MySQL, que ahora se puede hacer por procedimientos (funciones normales de toda la vida) y por objetos.

Funciones basadas en procedimientos: Como venimos haciendo toda la vida con PHP.
Funciones normales y corrientes, que reciben parámetros y que devuelven valores.

Funciones basadas en POO: Realmente son constructores para obtener objetos y métodos a los que podemos acceder dentro de esos objetos para realizar las operaciones con la base de datos.

Hay que aclarar que ambas aproximaciones son perfectamente válidas y que no cambian las cosas que se pueden hacer desde una u otra. Por tanto, elegir por uno u otro modo no implicará ninguna ventaja en funcionalidad, ni tan siquiera de rendimiento. Por tanto, es tan válida una elección como la otra y nuestra preferencia será más bien por gustos o costumbres a la hora de desarrollar.

 

Acceso a MySQL con funciones por procedimientos

Como verás a continuación, las funciones son prácticamente las mismas a las que se les ha agregado una «i». Por ejemplo, mysql_connect() pasa a ser mysqli_connect(). Los parámetros son los mismos en muchos casos, o muy parecidos.

Conexión con la base de datos: mysqli_connect()
Ahora indicamos también la base de datos a la que queremos conectarnos. Y atención, porque lo que nos devuelve la función no es un link o identificador de la conexión con la base de datos, sino un objeto. Pero aunque no sepas POO, no te preocupes por este detalle, pues poco nos importa a los desarrolladores, dado que vamos a usar ese objeto como si fuera simplemente el identificador de la conexión, o sea, vamos a usarlo como hacíamos anteriormente en PHP.

$conexion = mysqli_connect("localhost", "usuario", "clave", "mi_bbdd");

 

Cerrar la conexión: mysqli_close()
Tenemos que pasarle como parámetro siempre el objeto que obtuvimos al iniciar la conexión.

mysqli_close($conexion);

 

Ejecutar una consulta: mysqli_query()
Esta función es exactamente igual, aunque en este caso recibe obligatoriamente como primer parámetro el objeto de conexión a la base de datos que recibimos al conectarnos. El segundo parámetro es la sentencia SQL que se desea ejecutar en MySQL.

$resultado = mysqli_query($conexion, "select * from cliente");

Otra aspecto interesante es que nos devuelve un valor que puede ser, o bien un booleano para saber si la consulta se ejecutó con éxito, como en el caso de un «insert» o «delete», o bien un objeto resultado con un conjunto de registros en el caso de un «select».

Extraer un registro del conjunto de resultados: mysqli_fetch_array()
Esta función es exactamente igual, recibe el conjunto de resultados del que queremos sacar un registro. Devuelve en este caso un «array», pero está igualmente mysqli_fetch_object() que devolvería un objeto.

$fila = mysqli_fetch_array($resultado);

 

Contar el número de filas de un resultado: mysqli_num_rows()
También es exactamente igual, simplemente le pasamos el objeto conjunto de registros del que queremos saber el número de filas o registros que contiene.

$fila = mysqli_num_rows($resultado)

 

Fuente: desarrolloweb.com

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

18 − ocho =