php. bases de datos

46
Tecnologías Web de Cliente Departamento de Ingeniería de Sistemas Telemáticos http://moodle.dit.upm.es Bases de Datos con PHP

Upload: carlos-a-iglesias

Post on 12-Jun-2015

618 views

Category:

Technology


5 download

TRANSCRIPT

Tecnologías Web de Cliente

Departamento de Ingeniería de Sistemas Telemáticoshttp://moodle.dit.upm.es

Bases de Datos con PHP

2

ÍndiceGestionar mySQL

– PhpMyAdmin

– Eclipse Quantum

Acceso a bases de datos en PHP– PDO

– Ejemplos insertar, consultar, borrar, actualizar

– Ejemplo con JSOP y jquery

3

Gestionar mySQL● Podemos realizarlo

– A través de un terminal (ejecutar en shell mysql, …)

– A través de un navegador• Paquete phpMyAdmin, disponible para todos

los sistemas operativos y normalmente habilitado en los sitios de hosting

– A través del IDE, instalar un plugin para conectarse a mySQL

4

MySQL - phpMyAdmin● Tienes que tener instalado mysql-server● Si no recuerdas la contraseña, cámbiala con● Puedes instalar phpMyAdmin en Linux (o Windows, o...) sigue la documentación de

– https://phpmyadmin-spanish.readthedocs.org/en/latest/

5

phpmyadmin● Tenemos que enlazar la aplicación /usr/share/phpmyadmin

– sudo ln -s /usr/share/phpmyadmin /var/www● Si tenemos redirigido el document root de apache a otro sitio, podemos redirigirlo a /var/www o bien enlacar al nuevo document root

– Luego apuntamos a http://localhost/phpmyadmin y accedemos a l a consola

6

Crear BBDD

7

Crear tabla

8

Crear tabla - visual

9

Crear tabla – importar (I)

demo_departamentos.sql

10

Crear tabla – importar (II)

11

Importado!

12

Eclipse - Quantum● Tienes que haber creado antes una base de datos ejemplos_tewc y la tabla departamentos● Suponemos que la has creado

– Con phpMyAdmin

– Desde terminal (Linux/Windows):– mysql -uroot -p --default-character-set=utf8

ejemplos_tewc <ruta>/demo_departamentos.sql

13

Eclipse: Quantum● Help->Install new software

– Añadir http://quantum.sourceforge.net/update-site

14

Quantum: Cómo usarlo (I)● Eclipse->Help->Help Contents y seleccionar QuantumDB● Window->Open Perspective->Other->Quantum DB● Necesitamos el driver (jar) JDBC de MySQL. Hay que descargarlo de:

– http://dev.mysql.com/downloads/connector/j/

– Hay una versión del jar en moodle

15

Quantum: bookmark mySQL ● Crear un bookmark a mysql en la pespectiva Quantum DB

16

Pasos crear bookmark● New bookmark-> add driver

17

Add Driver

18

Crear conexión

19

Y ya podemos ejecutar SQL

20

Acceso a BBDD en PHP● Para acceder a bases de datos relacionales, podemos usar

– Drivers de un SGBD específico (p.ej. Para SQL, usar MySQLi)

– Drivers genéricos, PDO● Los drivers genéricos permiten cambiar fácilmente de un SGBD a otro● PHP también soporta acceso a SGBD noSQL como MongoDB u otros

21

Pasos Acceso BBDD● 1. Crear conexión● 2. Interactuar con la BBDD

22

Conectar con la BBDDconectar.php

Notación PHP para objetos

23

Listar – versión simple

24

Listar – sentencia preparada SQL

25

Insertar - simple

26

Insertar - preparada

27

Publicar json

28

JSONP● JSONP (JSON con Padding) es una técnica de comunicación en programas JS para pedir datos a un servidor en otro dominio, que normalmente está prohibido por la política del mismo origen.● 1. Enviamos como parámetro la función javascript que empaquetará los datos JSON● 2. Recibimos los datos como una función JS y ejecutamos esa función (que es nuestra)

29

JSONP jsonp.php

Llamamos a la función que nos pasan pasándole

el json

30

JQuery – listado_json.php

31

Listado con json

Podríamos hacerlo generando el HTML

desde PHP en vez de JS

32

Firebug... Parámetros

33

Encabezados...

34

Respuesta...

35

… y JSON

36

Otros métodos PDO● El resto de operaciones SQL son iguales en PDO. Ej.

37

Añadir departamento (I)

38

Añadir departamento (II)

39

Añadir depto - error

40

Formulario depto (I)

41

Formulario depto (II)

42

annade_departamento (I)

43

annade_departamento (II)

44

annade_departamento (III)

45

Conclusiones● PHP da muy buen soporte para el acceso a base de datos, con diferentes opciones ● Hemos visto PDO, orientada a objetos, que nos da un driver no dependiente del SGBD● Podemos combinar fácilmente tecnologías de cliente y servidor con JSON

46

Referencias●Programming PHP, O'Reilly, 2013,

– http://proquest.safaribooksonline.com/book/programming/php/9781449361068

●Head first PHP & MySQL, O'Reilly, 2008,– http://proquest.safaribooksonline.com/book/

databases/mysql/9780596157739