Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PHP. Bases de Datos

1,005 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

PHP. Bases de Datos

  1. 1. Tecnologías Web de Cliente Bases de Datos con PHP Departamento de Ingeniería de Sistemas Telemáticos http://moodle.dit.upm.es
  2. 2. Índice Gestionar mySQL – PhpMyAdmin – Eclipse Quantum Acceso a bases de datos en PHP – PDO – Ejemplos insertar, consultar, borrar, actualizar – Ejemplo con JSOP y jquery 2
  3. 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 3
  4. 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.or g/en/latest/ 4
  5. 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 5
  6. 6. Crear BBDD 6
  7. 7. Crear tabla 7
  8. 8. Crear tabla - visual 8
  9. 9. Crear tabla – importar (I) demo_departamentos.sql 9
  10. 10. Crear tabla – importar (II) 10
  11. 11. Importado! 11
  12. 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 12
  13. 13. Eclipse: Quantum ● Help->Install new software – Añadir http://quantum.sourceforge.net/update-site 13
  14. 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 14
  15. 15. Quantum: bookmark mySQL Crear un bookmark a mysql en la pespectiva Quantum DB ● 15
  16. 16. Pasos crear bookmark ● New bookmark-> add driver 16
  17. 17. Add Driver 17
  18. 18. Crear conexión 18
  19. 19. Y ya podemos ejecutar SQL 19
  20. 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 ● 20
  21. 21. Pasos Acceso BBDD ● 1. Crear conexión ● 2. Interactuar con la BBDD 21
  22. 22. Conectar con la BBDD conectar.php Notación PHP para objetos 22
  23. 23. Listar – versión simple 23
  24. 24. Listar – sentencia preparada SQL 24
  25. 25. Insertar - simple 25
  26. 26. Insertar - preparada 26
  27. 27. Publicar json 27
  28. 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) ● 28
  29. 29. JSONP jsonp.php Llamamos a la función que nos pasan pasándole el json 29
  30. 30. JQuery – listado_json.php 30
  31. 31. Listado con json Podríamos hacerlo generando el HTML desde PHP en vez de JS 31
  32. 32. Firebug... Parámetros 32
  33. 33. Encabezados... 33
  34. 34. Respuesta... 34
  35. 35. … y JSON 35
  36. 36. Otros métodos PDO El resto de operaciones SQL son iguales en PDO. Ej. ● 36
  37. 37. Añadir departamento (I) 37
  38. 38. Añadir departamento (II) 38
  39. 39. Añadir depto - error 39
  40. 40. Formulario depto (I) 40
  41. 41. Formulario depto (II) 41
  42. 42. annade_departamento (I) 42
  43. 43. annade_departamento (II) 43
  44. 44. annade_departamento (III) 44
  45. 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 ● 45
  46. 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 46

×