jueves, 7 de junio de 2012

Uso de Bases de Datos en programas PHP

Si dispone de un plan de alojamiento web en plataforma Linux, con acceso a bases de datos, podrá utilizar el lenguaje PHP para sus desarrollos web. Desde sus páginas PHP podrá desarrollar fácilmente su programación de acceso a bases de datos MySQL o PostgreSQL. En esta página le mostramos una breve referencia al modo de acceso y consulta desde PHP a estos dos tipos de bases de datos.

Acceso a bases de datos MySQL desde PHP


El sistema de acceso y manipulación de bases de datos desde PHP es similar al de otros lenguajes de script: establece la conexión con la base de datos, ejecuta las sentencias de consulta o modificación y finalmente cierra la conexión. PHP soporta compatibilidad con accesos a múltiples sistemas de bases de datos, sin embargo, el modo de programación sobre cada tipo de base de datos, no presenta, como en otros casos, la misma nomenclatura. PHP utiliza funciones de nombre genérico, pero precedidas normalmente por el nombre del sistema de base de datos, de modo que las funciones que ofrece el lenguaje para el acceso a cada tipo de base de datos son diferentes.

Establecimiento de conexión con bases de datos MySQL

Para establecer la conexión con una base de datos MySQL desde PHP, se utiliza la función:
mysql_connect("NombreHost","Usuario","Contraseña")
cuyos parámetros son opcionales, e indican el nombre del servidor -o IP del mismo- (‘NombreHost’) donde se encuentra la base de datos, el ‘Usuario’ de acceso a la base de datos, y la ‘Contraseña’ de acceso. En caso de éxito la función devuelve un identificador del enlace con el sistema de bases de datos.
Una vez establecida la conexión, hay que indicar al sistema, la base de datos con la que se desea trabajar, usando la función:
mysql_select_db("NombreBaseDatos")
Y finalmente, para cerrar la conexión utilizamos:
mysql_close($conexion)
donde debemos pasarle como parámetro el enlace con la conexión inicialmente establecida.

Ejemplo:

<?php

#Conectamos con MySQL
$conexion = mysql_connect("NombreHost","Usuario","Contraseña")
or die ("Fallo en el establecimiento de la conexión");

#Seleccionamos la base de datos a utilizar
mysql_select_db("NombreBaseDatos")
or die("Error en la selección de la base de datos");

# ################################### #
# Aquí insertaríamos las consultas sobre la base de datos #
# ################################### #

#Cerramos la conexión con la base de datos
mysql_close($conexion);

?>

Consultas sobre bases de datos MySQL

Para efectuar consultas sobre una base de datos MySQL, se utiliza en PHP la función:
mysql_query($sql, $conexion)
que toma como parámetros, una cadena con la consulta SQL a ejecutar (SELECT, INSERT, DELETE, etc.), y el enlace con la base de datos (opcional). Devuelve un identificador del resultado en caso de éxito o FALSE en caso de error en la consulta. Solo con la ejecución de la consulta sobre la base de datos, no podemos presentar el resultado de la misma. Para poder mostrar información resultante de una consulta deberemos hacer uso de funciones complementarias. Una de las posibles es:
mysql_fetch_array($id_resultado)
que devuelve un array con el resultado de la sentencia extraída identificada por el parámetro facilitado.

Ejemplo:

<?php

#Conectamos con MySQL
$conexion = mysql_connect("NombreHost","Usuario","Contraseña")
or die ("Fallo en el establecimiento de la conexión");

#Seleccionamos la base de datos a utilizar
mysql_select_db("NombreBaseDatos")
or die("Error en la selección de la base de datos");

#Efectuamos la consulta SQL
$result = mysql_query ("select * from personal" )
or die("Error en la consulta SQL");

#Mostramos los resultados obtenidos
while( $row = mysql_fetch_array ( $result )) {
   echo $row [ "id" ];
   echo $row [ "nombre" ];
}

?>

Acceso a bases de datos PostgreSQL desde PHP

El sistema de acceso a bases de datos PostgreSQL desde PHP es similar al usado para el acceso a bases de datos MySQL. Solo cambian los nombres de las funciones utilizadas, pero siguen la misma estructura. En los siguientes apartados vemos con más detalle las sentencias a utilizar.

Conexión con bases de datos PostgreSQL

Para establecer la conexión con una base de datos PostgreSQL desde PHP, se utiliza la función:
pg_connect("host=NombreHost dbname=BaseDatos user=Usuario
password=Contraseña")
cuyos parámetros, pasados como una cadena única, indican el nombre del servidor -o IP del mismo- ‘NombreHost’ donde se encuentra la base de datos, el nombre de la base de datos ‘BaseDatos’, el ‘Usuario’ de acceso a la base de datos, y la ‘Contraseña’ de acceso. En caso de éxito la función devuelve un identificador del enlace con el sistema de bases de datos. A diferencia de MySQL, no es preciso indicar con otra función la base de datos a la que se desea acceder, ya que se ha facilitado como parámetro a la función de conexión.
Finalmente, para cerrar la conexión utilizamos:
pg_close($conexion)
donde debemos pasarle como parámetro el enlace con la conexión inicialmente establecida.

Ejemplo:

<?php

#Conectamos con PostgreSQL
$conexion = pg_connect("host=192.168.0.3 dbname=BaseDatos user=Usuario
password=Contraseña") or
die ("Fallo en el establecimiento de la conexión");

# ################################### #
# Aquí insertaríamos las consultas sobre la base de datos #
# ################################### #

#Cerramos la conexión con la base de datos
pg_close($conexion);

?>

Consultas sobre bases de datos PostgreSQL

Para efectuar consultas sobre una base de datos PostgreSQL, se utiliza en PHP la función:
pg_query($conexion, $sql)
que toma como parámetros, el enlace con la base de datos y una cadena con la consulta SQL a ejecutar (SELECT, INSERT, DELETE, etc.). Devuelve un identificador del resultado en caso de éxito o FALSE en caso de error en la consulta. Solo con la ejecución de la consulta sobre la base de datos, no podemos presentar el resultado de la misma. Para poder mostrar información resultante de una consulta deberemos hacer uso de funciones complementarias. Una de las posibles es:
pg_fetch_array($id_resultado, $fila)
que devuelve la fila ‘$fila’ en forma de array con el resultado de la sentencia extraída identificada por el parámetro ‘$id_resultado’.

Ejemplo:

<?php

#Conectamos con PostgreSQL
$conexion = pg_connect("host=192.168.0.3 dbname=BaseDatos user=Usuario
password=Contraseña") or
die ("Fallo en el establecimiento de la conexión");

#Efectuamos la consulta SQL
$result = pg_query ($conexion, "select * from personal" )
or die("Error en la consulta SQL");

#Mostramos los resultados obtenidos
$i=0;
while( $row = mysql_fetch_array ( $result,$i )) {
   echo $row [ "id" ];
   echo $row [ "nombre" ];
   $i++;
}

?>
 
Dispone de completa información y ejemplos de las funciones PHP asociadas a PostgreSQL en la web de PHP.net.

No hay comentarios:

Publicar un comentario