PDF de programación - 7-PHP y consultas MySQL

Imágen de pdf 7-PHP y consultas MySQL

7-PHP y consultas MySQLgráfica de visualizaciones

Publicado el 14 de Enero del 2017
788 visualizaciones desde el 14 de Enero del 2017
389,2 KB
19 paginas
7-­‐PHP
 y
 consultas
 MySQL
 


 Curso:
 Desarrollo
 de
 aplicaciones
 Web
 

Cris*na
 Puente,
 Rafael
 Palacios
 

2010-­‐2011
 

1
 

Introducción
 

Introducción
 
•  PHP
 dispone
 de
 librerías
 para
 comunicarse
 con
 diversas
 bases
 

de
 datos:
 

–  MySQL
 (OpenSource,
 la
 que
 vamos
 a
 u*lizar
 en
 este
 curso)
 
–  DBM
 (Berkeley)
 
–  Informix
 
–  MS
 SQL
 (MicrosoP)
 
–  Oracle
 8
 
–  PostgreSQL
 (Berkeley—open
 source)
 
–  Sybase
 

Departamento
 de
 Sistemas
 InformáCcos
 
Escuela
 Técnica
 Superior
 de
 Ingeniería
 ICAI
 

Desarrollo
 de
 aplicaciones
 web
 
2011
 

3
 

Introducción
 
•  ¿cómo
 funciona?
 

GET prueba.php


Departamento
 de
 Sistemas
 InformáCcos
 
Escuela
 Técnica
 Superior
 de
 Ingeniería
 ICAI
 

Desarrollo
 de
 aplicaciones
 web
 
2011
 

4
 

Ejemplo
 de
 programa
 PHP
 
1.  Abrir
 la
 conexión
 con
 el
 servidor
 de
 base
 de
 datos
 
2.  Seleccionar
 la
 base
 de
 datos
 
3.  Construir
 la
 query
 
4.  Lanzar
 la
 query
 

5.  Bucle
 para
 mostrar
 registro
 a
 registro
 

6.  Cerrar
 la
 conexión
 

Departamento
 de
 Sistemas
 InformáCcos
 
Escuela
 Técnica
 Superior
 de
 Ingeniería
 ICAI
 

Desarrollo
 de
 aplicaciones
 web
 
2011
 

5
 

2
 

Abrir
 la
 conexión
 con
 la
 base
 de
 

datos
 

Conexión
 a
 la
 base
 de
 datos
 
• 

Instrucción
 mysql_connect(),
 junto
 con
 tres
 parámetros:
 host
 
al
 que
 nos
 conectamos,
 nombre
 de
 usuario
 y
 contraseña.
 

•  En
 modo
 local
 (localhost
 =
 127.0.0.1)
 

<?php

$conn = mysql_connect("localhost","mysql_user","mysql_pwd");

if (!$conn) {

die('Error de conexión');

}

/* Código aquí */

mysql_close($conn);

?>

Departamento
 de
 Sistemas
 InformáCcos
 
Escuela
 Técnica
 Superior
 de
 Ingeniería
 ICAI
 

Desarrollo
 de
 aplicaciones
 web
 
2011
 

7
 

Conexión
 a
 la
 base
 de
 datos
 
•  También
 es
 posible
 u*lizar
 variables
 y
 desarrollar
 funciones
 

<?php

function Conectar()

Acceso.php

{

}

$host="localhost";

$user="mysql_user";

$pass="shhh";

$conn = mysql_connect($host,$user,$pass);

if (!$conn) {

die('Error de conexión');



}

return $conn;

Departamento
 de
 Sistemas
 InformáCcos
 
Escuela
 Técnica
 Superior
 de
 Ingeniería
 ICAI
 

Desarrollo
 de
 aplicaciones
 web
 
2011
 

8
 

Selección
 de
 la
 base
 de
 datos
 
•  Los
 ficheros
 que
 accedan
 a
 la
 base
 de
 datos
 incluyen
 la
 

función.
 

<?php

include("acceso.php");

$conn=Conectar();

if (!mysql_select_db("prueba",$conn)) {

printf("ERROR: %s\n",mysql_error());

mysql_close($conn);

die("Error al cambiar de base de datos\n");

}

/* Código aquí */

mysql_close($conn);

Departamento
 de
 Sistemas
 InformáCcos
 
Escuela
 Técnica
 Superior
 de
 Ingeniería
 ICAI
 

Desarrollo
 de
 aplicaciones
 web
 
2011
 

9
 

3
 

Realizar
 queries
 

Ejemplo
 de
 consulta
 
•  Una
 query
 se
 ejecuta
 con
 mysql_query.
 Se
 recomienda
 

comprobar
 el
 error.
 

$query="SELECT nombre, apellidos

FROM empleados

WHERE salario<10000;";

$result=mysql_query($query,$conn);

if (!$result) {

printf("Error en la query: ".mysql_error());

mysql_close($conn);

exit;

}

Departamento
 de
 Sistemas
 InformáCcos
 
Escuela
 Técnica
 Superior
 de
 Ingeniería
 ICAI
 

Desarrollo
 de
 aplicaciones
 web
 
2011
 

11
 

Ejemplo
 de
 consulta
 
•  mysql_fetch_array
 convierte
 el
 resultado
 de
 la
 query
 en
 un
 

u*lizados
 en
 la
 query
 

array
 con
 toda
 la
 información
 de
 un
 registro.
 

•  Los
 nombres
 de
 los
 elementos
 del
 array
 coinciden
 con
 los
 

$row=mysql_fetch_array($result);

while ($row) {

printf("Nombre: {$row['nombre']} {$row['apellidos']}<br>");

$row=mysql_fetch_array($result);

}

mysql_free_result($result);

Departamento
 de
 Sistemas
 InformáCcos
 
Escuela
 Técnica
 Superior
 de
 Ingeniería
 ICAI
 

Desarrollo
 de
 aplicaciones
 web
 
2011
 

12
 

Resumen
 de
 las
 funciones
 de
 acceso
 a
 MySQL
 
•  mysql_connect()
 :Conectar
 con
 el
 servidor
 de
 bases
 de
 datos.
 
•  mysql_select_db()
 :Seleccionar
 una
 base
 de
 datos.
 
•  mysql_query()
 :
 Enviar
 la
 instrucción
 SQL
 a
 la
 base
 de
 datos.
 
•  mysql_num_rows($result)
 :
 Obtener
 número
 de
 registros
 
•  mysql_fetch_array($result)
 :
 Obtener
 datos
 
•  mysql_free_result($result)
 :
 Libera
 memoria
 
•  mysql_close()
 :
 Cerrar
 la
 conexión
 con
 el
 servidor.
 
•  mysql_error()
 :
 Muestra
 el
 úl*mo
 mensaje
 de
 error
 
•  mysql_real_escape_string()
 :
 Ob*ene
 cadena
 segura
 (ver
 más
 

adelante)
 

Departamento
 de
 Sistemas
 InformáCcos
 
Escuela
 Técnica
 Superior
 de
 Ingeniería
 ICAI
 

Desarrollo
 de
 aplicaciones
 web
 
2011
 

13
 

4
 

Formularios
 y
 aspectos
 básicos
 de
 

seguridad
 

Consulta
 basada
 en
 formulario
 
1.  Diseñar
 página
 web
 u*lizando
 un
 editor
 HTML
 
2.  Conver*r
 a
 PHP
 e
 insertar
 el
 código
 de
 acceso
 a
 datos
 
3.  Obtener
 y
 proteger
 los
 datos
 del
 formulario
 
4.  Construir
 la
 query
 
5.  Generar
 la
 salida
 

Departamento
 de
 Sistemas
 InformáCcos
 
Escuela
 Técnica
 Superior
 de
 Ingeniería
 ICAI
 

Desarrollo
 de
 aplicaciones
 web
 
2011
 

15
 

Archivo
 PHP
 

Código inicial HTML

Query PHP

Código final HTML

Departamento
 de
 Sistemas
 InformáCcos
 
Escuela
 Técnica
 Superior
 de
 Ingeniería
 ICAI
 

Desarrollo
 de
 aplicaciones
 web
 
2011
 

16
 

Construcción
 de
 la
 query
 

if (isset($_GET['salary'])) {

$salary=mysql_real_escape_string($_GET['salary']); //important
$query='SELECT firstname, lastname, salary FROM users

WHERE salary>={$salary};';
} else {
/* No filter */
$query='SELECT firstname, lastname, salary FROM users;';
}

$result=mysql_query($query,$conn);
if (!$result) {

die('Query error '.mysql_error());

}

$row=mysql_fetch_array($result);
while ($row) {
printf("<tr>\n");
printf("<td>{$row['firstname']}</td><td>{$row['lastname']}</td>");
printf("<td>{$row['salary']}</td></tr>");
$row=mysql_fetch_array($result);
}
mysql_free_result($result);

Departamento
 de
 Sistemas
 InformáCcos
 
Escuela
 Técnica
 Superior
 de
 Ingeniería
 ICAI
 

Desarrollo
 de
 aplicaciones
 web
 
2011
 

17
 

Aspectos
 de
 seguridad
 
•  ¿por
 qué
 es
 importante
 mysql_real_escape_string?
 

10000

query='SELECT name FROM users
WHERE salary<=10000;'

10000; drop table users;

query='SELECT name FROM users
WHERE salary<=10000; drop table users'

Departamento
 de
 Sistemas
 InformáCcos
 
Escuela
 Técnica
 Superior
 de
 Ingeniería
 ICAI
 

Desarrollo
 de
 aplicaciones
 web
 
2011
 

18
 

Escuela
 Técnica
 Superior
 de
 Ingeniería
 ICAI
 
Alberto
 Aguilera
 25
 
28015
 Madrid
 
Tel
 +34
 91
 542
 28
 00
 
Fax
 +
 34
 91
 542
 31
 76
 
Iwww.icai.upcomillas.es
 

www.upcomillas.es
  • Links de descarga
http://lwp-l.com/pdf488

Comentarios de: 7-PHP y consultas MySQL (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad