Download Tema 8: Acceso a Base de Datos y Sesiones con PHP
Document related concepts
Transcript
POW Tema 8: Acceso a Base de Datos y Sesiones con PHP Programación Orienta a la Web 1. 2. 3. 4. 5. 6. 7. 8. Bases de datos en la Web Instalación y configuración de MySQL MySQL Herramientas de administración: phpMyAdmin Lenguaje SQL Funciones de PHP para el acceso a bases de datos MySQL Ejercicios Consulta avanzada de tablas Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web Ventajas – – – – – Proporcionar información actualizada Facilitar la realización de búsquedas Disminuir los costes de mantenimiento Implementar sistemas de control de acceso Almacenar preferencias de los usuarios Programación Orienta a la Web Esquema básico de un sitio web soportado por bases de datos: Programación Orienta a la Web Los pasos para acceder desde PHP a una base de datos son los siguientes: – – – – – Conectar con el servidor de bases de datos Seleccionar una base de datos Enviar la instrucción SQL a la base de datos Obtener y procesar los resultados Cerrar la conexión con el servidor de bases de datos Las funciones concretas de MySQL que realizan estas operaciones son: – – – – – Conectar con el servidor de bases de datos: mysql_connect() Seleccionar una base de datos: mysql_select_db() Enviar la instrucción SQL a la base de datos: mysql_query() Obtener y procesar los resultados: mysql_num_rows() y mysql_fetch_array() Cerrar la conexión con el servidor de bases de datos: mysql_close() Programación Orienta a la Web mysql_connect(): Devuelve un identificador de la conexión en caso de éxito y false en caso contrario. Sintaxis: $conexion = mysql_connect (servidor, username, password); Ejemplo: $conexion = mysql_connect (“localhost”, “cursophp-ad”, “php.hph”) or die (“No se puede conectar con el servidor”); mysql_select_db(): Devuelve true en caso de éxito y false en caso contrario. Sintaxis: mysql_select_db (database, $conexion ); Ejemplo: mysql_select_db (“lindavista”) or die (“No se puede seleccionar”); Programación Orienta a la Web mysql_query(): Devuelve un identificador o true (dependiendo de la instrucción) si la instrucción se ejecuta correctamente y false en caso contrario. Sintaxis: $consulta = mysql_query (instrucción, $conexion); Ejemplo: $consulta = “select * from noticias”; $resulset= mysql_query (, $conexion) or die (“Fallo en la consulta”); mysql_num_rows(): Devuelve el número de filas afectadas. mysql_fetch_array(): Para obtener las distintas filas del resultado se utiliza la función, que obtiene una fila del resultado en un array asociativo cada vez que se invoca. Además de guardar los datos en el índice numérico de la matriz, guarda también los datos en los índices asociativos, usando el nombre de campo como clave. Sintaxis: $nfilas = mysql_num_rows ($resulset); $fila = mysql_fetch_array ($resulset); Programación Orienta a la Web mysql_close(): Cerrar la conexión con el servidor de bases de datos. Sintaxis: mysql_close ($conexion); Programación Orienta a la Web Trabajando con Sesiones en PHP: Las sesiones, en aplicaciones web realizadas con PHP y en el desarrollo de páginas web en general, nos sirven para almacenar información que se memorizará durante toda la visita de un usuario a una página web. Dicho de otra forma, un usuario puede ver varias páginas durante su paso por un sitio web y con sesiones podemos almacenar variables que podremos acceder en cualquiera de esas páginas. Digamos que las sesiones son una manera de guardar información, específica para cada usuario, durante toda su visita. Cada usuario que entra en un sitio abre una sesión, que es independiente de la sesión de otros usuarios. Todas estas informaciones se guardan en lo que denominamos variables de sesión. Programación Orienta a la Web • session_start(): Cuando queremos utilizar variables de sesión en una página tenemos que iniciar la sesión con dicha función. Inicia una sesión para el usuario o continúa la sesión que pudiera tener abierta en otras páginas. Al hacer session_start() PHP internamente recibe el identificador de sesión almacenado en la cookie o el que se envíe a través de la URL. Si no existe tal identificador se sesión, simplemente lo crea. • Una vez inicializada la sesión con session_start() podemos a partir de ahora utilizar variables de sesión, es decir, almacenar datos para ese usuario, que se conserven durante toda su visita o recuperar datos almacenados en páginas que haya podido visitar. • La sesión se tiene que inicializar antes de escribir cualquier texto en la página. • Una vez iniciada la sesión podemos utilizar variables de sesión a través de $_SESSION, que es un array asociativo, donde se accede a cada variable a partir de su nombre, de este modo: $_SESSION["nombre_de_variable"] Programación Orienta a la Web session_destroy(): Destruye todos los datos guardados en una sesión. Esta función devuelve TRUE si se ha destruido la sesión correctamente y FALSE si ha habido algún problema al intentarlo. Ejemplo: <?php // Inicializa de la sesión session_start(); // Destruye todas las variables de la sesión session_unset(); // Finalmente, destruye la sesión session_destroy(); ?>