Desarrollo de aplicaciones web para bases de datos Almería 2005 Programación PHP de bases de datos SQL Server Manuel Torres Gil [email protected] Departamento de Lenguajes y Computación Universidad de Almería Desarrollo de aplicaciones web para bases de datos Almería 2005 Programación PHP de bases de datos SQL Server Contenidos 1. Acceso a bases de datos SQL Server 2. Recuperación de registros de una consulta 3. Otras funciones de interés 4. Creación de listados con hipervínculos 5. Autenticación de usuarios 1 Desarrollo de aplicaciones web para bases de datos Almería 2005 Programación PHP de bases de datos SQL Server Contenidos 1. Acceso a bases de datos SQL Server 2. Recuperación de registros de una consulta 3. Otras funciones de interés 4. Creación de listados con hipervínculos 5. Autenticación de usuarios Acceso a bases de datos SQL Server Funciones básicas Conexión al servidor $conexion = mssql_connect (host, usuario, contraseña) Selección de la base de datos mssql_select_db (baseDeDatos, conexión) Operaciones SQL contra la base de datos $resultado = mssql_query (SQL, conexión) Cierre de la base de datos mssql_close (conexión) 2 Acceso a bases de datos SQL Server Ejemplo $conexion = mssql_connect (“localhost”, “alumno”, “alumno”); mssql_select_db (“curso”, $conexion); $cadenaSQL = “select nombre from cliente”; $resultado = mssql_query ($cadenaSQL, $conexion); Desarrollo de aplicaciones web para bases de datos Almería 2005 Programación PHP de bases de datos SQL Server Contenidos 1. Acceso a bases de datos SQL Server 2. Recuperación de registros de una consulta 3. Otras funciones de interés 4. Creación de listados con hipervínculos 5. Autenticación de usuarios 3 Recuperación de registros de una consulta Funciones mssql_fetch_array() Recupera en un array un registro de la variable de resultados Datos accesibles como celdas del array, comenzando en 0 $resultado = mssql_query("Select Identificador from Pedido", $conexion) or die("Error. La consulta especificada no se ha llevado a cabo con éxito"); while ($fila = mssql_fetch_array($resultado)) echo "$fila[0]<br>"; Recuperación de registros de una consulta Funciones (2) mssql_fetch_object() Recupera en un objeto un registro de la variable de resultados Datos accesibles a través de los nombres de los campos $cadenaSQL = "Select IdentificadorCliente from Cliente"; $resultado = mssql_query($cadenaSQL, $conexion) or die("Error. La consulta especificada no se ha llevado a cabo con éxito"); while ($fila = mssql_fetch_object($resultado)) { echo "$fila->IdentificadorCliente<br>"; } 4 Desarrollo de aplicaciones web para bases de datos Almería 2005 Programación PHP de bases de datos SQL Server Contenidos 1. Acceso a bases de datos SQL Server 2. Recuperación de registros de una consulta 3. Otras funciones de interés 4. Creación de listados con hipervínculos 5. Autenticación de usuarios Otras funciones de interés Funciones mssql_num_rows() Devuelve el número de filas recuperadas en un SELECT Si devuelve 0, la consulta no devuelve registros mssql_affected_rows() Devuelve el número de filas afectadas por una orden de manipulación de datos (INSERT, DELETE o UPDATE) Va justo después de ejecutar la consulta mssql_num_fields() Devuelve el número de campos recuperados en un SELECT Uso combinado con mssql_fetch_array() 5 Desarrollo de aplicaciones web para bases de datos Almería 2005 Programación PHP de bases de datos SQL Server Contenidos 1. Acceso a bases de datos SQL Server 2. Recuperación de registros de una consulta 3. Otras funciones de interés 4. Creación de listados con hipervínculos 5. Autenticación de usuarios Creación de listados con hipervínculos Descripción Obtener detalles de clientes a partir de un listado de pedidos •Crear un script que muestre los datos del cliente •Este script toma mediante GET el id de cliente •El listado de pedidos contiene hipervínculos al script que muestra los datos del cliente •Estos hipervínculos pasan por la URL el id del cliente <a href = scriptDetalle.php?Id=$fila->IdCliente> $fila->IdCliente </a> •Para volver atrás desde el la pantalla de detalles basta con llamar al script inicial. 6 Creación de listados con hipervínculos Ejemplo Pedidos de un cliente a partir del total de pedidos por cliente Desarrollo de aplicaciones web para bases de datos Almería 2005 Programación PHP de bases de datos SQL Server Contenidos 1. Acceso a bases de datos SQL Server 2. Recuperación de registros de una consulta 3. Otras funciones de interés 4. Creación de listados con hipervínculos 5. Autenticación de usuarios 7 Autenticación de usuarios Descripción Base de datos de usuarios Al menos una tabla Ejemplo: (Login, password, nombre, apellidos, profesion, ciudad) Posibilidad de guardar de forma cifrada Posibilidad de registrar nuevos usuarios o entrar como usuario registrado Uso de sesiones para prevenir el acceso no autorizado Identificar qué scripts necesitan haber iniciado una sesión Autenticación de usuarios Funcionamiento SQLServerAutenticacion_Inicio.php POST[login, password] SQLServerAutenticacion_IniciarSesion.php SQLServerAutenticacion_Formulario.php POST[login, password, nombre, apellidos, profesion, ciudad] SQLServerAutenticacion_Bienvenida.php SQLServerAutenticacion_CrearUsuario.php SQLServerAutenticacion_Logout.php 8 Desarrollo de aplicaciones web para bases de datos Almería 2005 Programación PHP de bases de datos SQL Server Manuel Torres Gil [email protected] Departamento de Lenguajes y Computación Universidad de Almería 9