miércoles, 20 de junio de 2012

APIs que ofrece PHP para conectarse a un servidor MySQL

Hola a todos, ahora me encuentro desarrollando mis proyectos en PHP con una nueva API de PHP para conectarse a servidores de base de datos MySQL.

A continuación menciono las dos extensiones que provee PHP:

Extensión mysql: extensión original de PHP que permite desarrollar aplicaciones que interactúan con bases de datos MySQL. La extensión mysql sólo se pensó para usarce con versiones de MySQL anteriores a la 4.1.3 y con versiones posteriores no se aprovecha al máximo toda su potencia.

(PHP recomienda no usarla)

Extensión mysqli: es la nueva extensión mejorada de PHP para podernos conectar a servidores MySQL. Con esta nueva extensión se aprovechan las funcionalidades encontradas en los sistemas MySQL con versión 4.1.3 o posterior. La extensión mysqli viene incluida en la versión 5 y posteriores de PHP.

Mejoras de la versión:

  1. Interfaz orientada a objetos.
  2. Soporte para transacciones (ya no tenemos que hacer mysql_query("begin"), mysql_query("commit") y mysql_query("rollback")).
  3. Opciones de depuración mejoradas.
  4. Soporte para múltiples declaraciones (la explicaré más adelante).
  5. Soporte para declaraciones preparadas (la explicaré más adelante).
Bueno les dejo un ejemplo con funciones:


 
Ahora procedo a mostrar resultados de tres formas con mysqli_fetch_row, mysqli_fetch_assoc y mysqli_fetch_array (en el mismo orden)


 

mysqli_fetch_array: obtiene una fila de resultados como un array asociativo, numérico o ambos.
MYSQLI_ASSOC
MYSQLI_NUM
MYSQLI_BOTH
 
Sentencias múltiples
El envío de múltiples sentencias a la vez reduce los viajes de ida y vuelta desded el cliente al servidor aunque requiere un manejo especial. Las sentencias se ejecutan con mysqli_multi_query.



Sentencias preparadas
Se usa para ejecutar la misma sentencia repetidas veces con gran eficiencia. Tiene dos etapas:
1) La preparación: se envía una plantilla de sentencia al servidor de base de datos. Luego el server realiza una comprobación de sintaxis (ojo aqui) y levanta los recursos del servidor de base de datos para su uso posterior.


2) La ejecución: durante la ejecución el cliente víncula los valores de los parámetros y los envía al servidor. El servidor crea una sentencia desde la plantilla de la sentencia y los valores vinculados para ejecutarla usando los recursos internos previamente creados (en la etapa 1)

 

Bueno espero les haya servidor de algo este aporte.

Hasta la proxima su amigo

Carlos Zacarías