Download Tema 8: Acceso a Base de Datos y Sesiones con PHP

Document related concepts

Sesión (informática) wikipedia , lookup

Inyección SQL wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

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&oacute;n
session_start();
// Destruye todas las variables de la sesi&oacute;n
session_unset();
// Finalmente, destruye la sesi&oacute;n
session_destroy();
?>