SlideShare a Scribd company logo
Miguel Angel Alvarez
PDO: Abstracción del acceso a BBDD
@midesweb
@EscuelaIT
Qué veremos hoy
▪ Índice
o Introducción
• Qué es PDO
• Por qué usar PDO
o Conexión
o Acceso a datos
Qué veremos hoy
https://www.youtube.com/user/Arsys/
Introdución
Introducción a PDO
PDO: "Objetos de Datos de PHP"
- Es una capa de abstracción del acceso a la base de datos.
- Usa clases y objetos
- Disponible desde PHP5 (ya que usa el modelo de orientación a
objetos de PHP que surgió desde PHP 5)
Qué es PDO
Introducción a PDO
PDO: "Objetos de Datos de PHP"
- Es una capa de abstracción del acceso a la base de datos.
- Usa clases y objetos
- Disponible desde PHP5 (ya que usa el modelo de orientación a
objetos de PHP que surgió desde PHP 5)
- No es una capa de abstracción de la base de datos (no es un ORM)
Qué es PDO
Introducción a PDO
- Permite crear código independiente de la base de datos.
- Disponibles controladores para: SQLite, MySQL / MariaDB,
Oracle, PostgreSQL, SQL Server…
- Te libera de aprender distintas interfaces de conexión a las
diferentes bases de datos.
- Seguridad, sencillez
- Paso intermedio antes de acceder a los ORM
Por qué usar PDO
Introducción a PDO
BBDD
PHPPDO
Introducción a PDO
BBDD
PHPPDO
MySQL
Driver
MySQL
Introducción a PDO
PDO para SQLite viene instalado por defecto.
Generalmente ya viene instalado en los programas todo-en-uno
para desarrollar (Xampp, Laragon, Mamp…)
En el servidor depende de la configuración de nuestro hosting, o
si tenemos un VPS, Cloud, Dedicado, tendremos que instalar
nosotros el correspondiente driver.
Instalar PDO
Conexiones
Conexiones PDO
Podemos configurar el modo de funcionamiento de PDO por
medio de diversas constantes.
https://www.php.net/manual/es/pdo.constants.php
PDO::FETCH_ASSOC (Permite recibir los datos por medio de un
array asociativo)
PDO::FETCH_OBJ (Permite recibir los datos por medio de un
objeto con las propiedades de cada columna)
Constantes
Conexiones PDO
La conexión se realiza creando un nuevo objeto de la clase PDO.
Conexión
La conexión permanece activa siempre que ese objeto exista.
Asignando "null" a la variable el objeto deja de existir y la
conexión se cierra. (O al acabar el script)
---
Conexiones PDO
Si ocurre un error de conexión se levanta una excepción, que
debemos de capturar y tratar para no revelar información sensible.
Gestión de errores
---
Conexiones PDO
Variables de entorno
Es recomendable usar variables de entorno.
https://github.com/vlucas/phpdotenv
Una librería para gestión de variables de entorno.
Acceso a datos
Acceso a datos
Ejecutar sentencias
Trabajar con PDO es tan simple como hacerlo con una extensión de base de datos
particular.
El método query() devuelve un objeto PDOStatement que es iterable directamente
como si fuera un array común.
Acceso a datos
Organizar el código
Es interesante separar la lógica de acceso a los datos de nuestros programas.
Preparar sentencias
Preparar sentencias
Preparar la sentencia
Creamos la sentencia con los espacios para colocar las variables que queremos
introducir.
Devuelve un PDOStatement con la sentencia preparada.
Preparar sentencias
Ejecutamos la sentencia con los datos
Ejecutamos la sentencia preparada asociando los datos que queremos insertar
dentro de los huecos de la sentencia.
El método execute devuelve true/false indicando si el proceso fue correcto.
Transforma el objeto PDOStatement de modo que podemos acceder ya a los
resultados. También se puede usar PDOStatement::bindParam().
Gracias
Miguel Angel Alvarez
insight@insightcreativos.com
649 76 76 31
@midesweb

More Related Content

What's hot

PostgreSQL Database Slides
PostgreSQL Database SlidesPostgreSQL Database Slides
PostgreSQL Database Slides
metsarin
 
MySQL Advanced Administrator 2021 - 네오클로바
MySQL Advanced Administrator 2021 - 네오클로바MySQL Advanced Administrator 2021 - 네오클로바
MySQL Advanced Administrator 2021 - 네오클로바
NeoClova
 
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterMySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
Kenny Gryp
 
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1
NeoClova
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
Reuven Lerner
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco Repository
Jeff Potts
 
Liquibase
LiquibaseLiquibase
Liquibase
Sergii Fesenko
 
MySQL Security
MySQL SecurityMySQL Security
MySQL Security
Ted Wennmark
 
Sa1 chapter-5-managing-local-linux-users-and-groups-v2 (4)
Sa1 chapter-5-managing-local-linux-users-and-groups-v2 (4)Sa1 chapter-5-managing-local-linux-users-and-groups-v2 (4)
Sa1 chapter-5-managing-local-linux-users-and-groups-v2 (4)
Chinthaka Deshapriya (RHCA)
 
Alfresco Certificates
Alfresco Certificates Alfresco Certificates
Alfresco Certificates
Angel Borroy López
 
PostgreSQL Tutorial for Beginners | Edureka
PostgreSQL Tutorial for Beginners | EdurekaPostgreSQL Tutorial for Beginners | Edureka
PostgreSQL Tutorial for Beginners | Edureka
Edureka!
 
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQLWebinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
Severalnines
 
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바
NeoClova
 
Base De Datos Distribuidas
Base De Datos DistribuidasBase De Datos Distribuidas
Base De Datos Distribuidas
Jorge Guerra
 
Full Text Search In PostgreSQL
Full Text Search In PostgreSQLFull Text Search In PostgreSQL
Full Text Search In PostgreSQL
Karwin Software Solutions LLC
 
Comandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchComandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbench
Robedgar MX
 
Solucion practica final bloque 1 sist. op. en red
Solucion practica final bloque 1 sist. op. en redSolucion practica final bloque 1 sist. op. en red
Solucion practica final bloque 1 sist. op. en redcfgmi
 
[Pgday.Seoul 2020] SQL Tuning
[Pgday.Seoul 2020] SQL Tuning[Pgday.Seoul 2020] SQL Tuning
[Pgday.Seoul 2020] SQL Tuning
PgDay.Seoul
 
POUG2022_OracleDbNestInsideOut.pptx
POUG2022_OracleDbNestInsideOut.pptxPOUG2022_OracleDbNestInsideOut.pptx
POUG2022_OracleDbNestInsideOut.pptx
Mahmoud Hatem
 

What's hot (20)

PostgreSQL Database Slides
PostgreSQL Database SlidesPostgreSQL Database Slides
PostgreSQL Database Slides
 
MySQL Advanced Administrator 2021 - 네오클로바
MySQL Advanced Administrator 2021 - 네오클로바MySQL Advanced Administrator 2021 - 네오클로바
MySQL Advanced Administrator 2021 - 네오클로바
 
Logs y auditoría
Logs y auditoríaLogs y auditoría
Logs y auditoría
 
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterMySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
 
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco Repository
 
Liquibase
LiquibaseLiquibase
Liquibase
 
MySQL Security
MySQL SecurityMySQL Security
MySQL Security
 
Sa1 chapter-5-managing-local-linux-users-and-groups-v2 (4)
Sa1 chapter-5-managing-local-linux-users-and-groups-v2 (4)Sa1 chapter-5-managing-local-linux-users-and-groups-v2 (4)
Sa1 chapter-5-managing-local-linux-users-and-groups-v2 (4)
 
Alfresco Certificates
Alfresco Certificates Alfresco Certificates
Alfresco Certificates
 
PostgreSQL Tutorial for Beginners | Edureka
PostgreSQL Tutorial for Beginners | EdurekaPostgreSQL Tutorial for Beginners | Edureka
PostgreSQL Tutorial for Beginners | Edureka
 
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQLWebinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
 
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바
 
Base De Datos Distribuidas
Base De Datos DistribuidasBase De Datos Distribuidas
Base De Datos Distribuidas
 
Full Text Search In PostgreSQL
Full Text Search In PostgreSQLFull Text Search In PostgreSQL
Full Text Search In PostgreSQL
 
Comandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchComandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbench
 
Solucion practica final bloque 1 sist. op. en red
Solucion practica final bloque 1 sist. op. en redSolucion practica final bloque 1 sist. op. en red
Solucion practica final bloque 1 sist. op. en red
 
[Pgday.Seoul 2020] SQL Tuning
[Pgday.Seoul 2020] SQL Tuning[Pgday.Seoul 2020] SQL Tuning
[Pgday.Seoul 2020] SQL Tuning
 
POUG2022_OracleDbNestInsideOut.pptx
POUG2022_OracleDbNestInsideOut.pptxPOUG2022_OracleDbNestInsideOut.pptx
POUG2022_OracleDbNestInsideOut.pptx
 

Similar to PDO: Capa de abstracción de base de datos con PHP

Iniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQLIniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQL
Rightster
 
Guía herramientas de BD PHP
Guía herramientas de BD PHPGuía herramientas de BD PHP
Guía herramientas de BD PHP
lissette_torrealba
 
Guia herramientas de bd
Guia herramientas de bdGuia herramientas de bd
Guia herramientas de bd
lissette_torrealba
 
Sistema Ado.Net
Sistema Ado.NetSistema Ado.Net
Sistema Ado.NetPersonal
 
El uso correcto de MySQLi
El uso correcto de MySQLi El uso correcto de MySQLi
El uso correcto de MySQLi
Arsys
 
Clases de oledb
Clases de oledbClases de oledb
Trabajar con bases de datos desde ASP.NET
Trabajar con bases de datos desde ASP.NETTrabajar con bases de datos desde ASP.NET
Trabajar con bases de datos desde ASP.NET
Javier Roig
 
Programación Avanzado Joomla Day 2009
Programación Avanzado Joomla Day 2009Programación Avanzado Joomla Day 2009
Programación Avanzado Joomla Day 2009
erny66
 
Programación avanzada en Joomla!
Programación avanzada en Joomla!Programación avanzada en Joomla!
Programación avanzada en Joomla!
Alfredo Romeo
 
Sesion2 Php Oo Y Mysql
Sesion2 Php Oo Y MysqlSesion2 Php Oo Y Mysql
Sesion2 Php Oo Y MysqlHugo Flores
 
Introducción a Zend Framework
Introducción a Zend FrameworkIntroducción a Zend Framework
Introducción a Zend Framework
Irontec
 
Modo conexion
Modo conexionModo conexion
Modo conexion
byron salcedo
 
Desarrollo de una interfaz Web de consulta y análisis de datos en Bioinformat...
Desarrollo de una interfaz Web de consulta y análisis de datos en Bioinformat...Desarrollo de una interfaz Web de consulta y análisis de datos en Bioinformat...
Desarrollo de una interfaz Web de consulta y análisis de datos en Bioinformat...
Javier Condori Flores
 
Germán Peraferrer: Cormo Framework
Germán Peraferrer: Cormo FrameworkGermán Peraferrer: Cormo Framework
Germán Peraferrer: Cormo Framework
Grupo PHP Argentina
 
Conexion bd en java y api necesaria
Conexion bd en java y api necesariaConexion bd en java y api necesaria
Conexion bd en java y api necesariaBoris Salleg
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completogenaro martinez
 

Similar to PDO: Capa de abstracción de base de datos con PHP (20)

Iniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQLIniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQL
 
Guía herramientas de BD PHP
Guía herramientas de BD PHPGuía herramientas de BD PHP
Guía herramientas de BD PHP
 
Guia herramientas de bd
Guia herramientas de bdGuia herramientas de bd
Guia herramientas de bd
 
Sistema Ado.Net
Sistema Ado.NetSistema Ado.Net
Sistema Ado.Net
 
El uso correcto de MySQLi
El uso correcto de MySQLi El uso correcto de MySQLi
El uso correcto de MySQLi
 
Clases de oledb
Clases de oledbClases de oledb
Clases de oledb
 
Trabajar con bases de datos desde ASP.NET
Trabajar con bases de datos desde ASP.NETTrabajar con bases de datos desde ASP.NET
Trabajar con bases de datos desde ASP.NET
 
Programación Avanzado Joomla Day 2009
Programación Avanzado Joomla Day 2009Programación Avanzado Joomla Day 2009
Programación Avanzado Joomla Day 2009
 
Programación avanzada en Joomla!
Programación avanzada en Joomla!Programación avanzada en Joomla!
Programación avanzada en Joomla!
 
Sesion2 Php Oo Y Mysql
Sesion2 Php Oo Y MysqlSesion2 Php Oo Y Mysql
Sesion2 Php Oo Y Mysql
 
Introducción a Zend Framework
Introducción a Zend FrameworkIntroducción a Zend Framework
Introducción a Zend Framework
 
Mysql adodb pdf_php
Mysql adodb pdf_phpMysql adodb pdf_php
Mysql adodb pdf_php
 
Modo conexion
Modo conexionModo conexion
Modo conexion
 
Desarrollo de una interfaz Web de consulta y análisis de datos en Bioinformat...
Desarrollo de una interfaz Web de consulta y análisis de datos en Bioinformat...Desarrollo de una interfaz Web de consulta y análisis de datos en Bioinformat...
Desarrollo de una interfaz Web de consulta y análisis de datos en Bioinformat...
 
Germán Peraferrer: Cormo Framework
Germán Peraferrer: Cormo FrameworkGermán Peraferrer: Cormo Framework
Germán Peraferrer: Cormo Framework
 
Cormo Framework
Cormo FrameworkCormo Framework
Cormo Framework
 
Conexion bd en java y api necesaria
Conexion bd en java y api necesariaConexion bd en java y api necesaria
Conexion bd en java y api necesaria
 
spring framework
spring frameworkspring framework
spring framework
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
 
php
phpphp
php
 

More from Arsys

Whitepaper Arsys - Cómo reducir el consumo energético de un data center
Whitepaper Arsys - Cómo reducir el consumo energético de un data centerWhitepaper Arsys - Cómo reducir el consumo energético de un data center
Whitepaper Arsys - Cómo reducir el consumo energético de un data center
Arsys
 
Whitepaper: La importancia del Delegado de Protección de Datos en una empresa...
Whitepaper: La importancia del Delegado de Protección de Datos en una empresa...Whitepaper: La importancia del Delegado de Protección de Datos en una empresa...
Whitepaper: La importancia del Delegado de Protección de Datos en una empresa...
Arsys
 
Contenedores y protección de datos empresariales | Whitepaper
Contenedores y protección de datos empresariales | WhitepaperContenedores y protección de datos empresariales | Whitepaper
Contenedores y protección de datos empresariales | Whitepaper
Arsys
 
Cómo elegir un software CRM adecuado a las necesidades de la organización
Cómo elegir un software CRM adecuado a las necesidades de la organizaciónCómo elegir un software CRM adecuado a las necesidades de la organización
Cómo elegir un software CRM adecuado a las necesidades de la organización
Arsys
 
Webinar - eCommerce: ¿Cómo puedo vender en Amazon?
Webinar - eCommerce: ¿Cómo puedo vender en Amazon?Webinar - eCommerce: ¿Cómo puedo vender en Amazon?
Webinar - eCommerce: ¿Cómo puedo vender en Amazon?
Arsys
 
Webinar - Primeros pasos con plesk
Webinar - Primeros pasos con pleskWebinar - Primeros pasos con plesk
Webinar - Primeros pasos con plesk
Arsys
 
Webinar- Requisitos legales para crear una Tienda Online
Webinar- Requisitos legales para crear una Tienda OnlineWebinar- Requisitos legales para crear una Tienda Online
Webinar- Requisitos legales para crear una Tienda Online
Arsys
 
Whitepaper - ¿Cómo elegir entre VPS, Servidor Cloud o Servidor dedicado?
Whitepaper - ¿Cómo elegir entre VPS, Servidor Cloud o Servidor dedicado?Whitepaper - ¿Cómo elegir entre VPS, Servidor Cloud o Servidor dedicado?
Whitepaper - ¿Cómo elegir entre VPS, Servidor Cloud o Servidor dedicado?
Arsys
 
Whitepaper - Cómo implementar el teletrabajo seguro en la empresa
Whitepaper - Cómo implementar el teletrabajo seguro en la empresaWhitepaper - Cómo implementar el teletrabajo seguro en la empresa
Whitepaper - Cómo implementar el teletrabajo seguro en la empresa
Arsys
 
Whitepaper - Guía Básica del Cloud Computing
Whitepaper - Guía Básica del Cloud ComputingWhitepaper - Guía Básica del Cloud Computing
Whitepaper - Guía Básica del Cloud Computing
Arsys
 
Webinar – Introducción a Google Analytics
Webinar – Introducción a Google AnalyticsWebinar – Introducción a Google Analytics
Webinar – Introducción a Google Analytics
Arsys
 
Guia automatizar herramientas-grc
Guia automatizar herramientas-grcGuia automatizar herramientas-grc
Guia automatizar herramientas-grc
Arsys
 
Whitepaper - Cómo crear un menú desplegable en WordPress
Whitepaper - Cómo crear un menú desplegable en WordPress Whitepaper - Cómo crear un menú desplegable en WordPress
Whitepaper - Cómo crear un menú desplegable en WordPress
Arsys
 
Whitepaper-Cómo gestionar tu WordPress por medio de la línea de comandosd
Whitepaper-Cómo gestionar tu WordPress por medio de la línea de comandosdWhitepaper-Cómo gestionar tu WordPress por medio de la línea de comandosd
Whitepaper-Cómo gestionar tu WordPress por medio de la línea de comandosd
Arsys
 
La conversión de dominios internacionalizados: Punycode
La conversión de dominios internacionalizados: PunycodeLa conversión de dominios internacionalizados: Punycode
La conversión de dominios internacionalizados: Punycode
Arsys
 
Cómo configurar un home office totalmente productivo
Cómo configurar un home office totalmente productivoCómo configurar un home office totalmente productivo
Cómo configurar un home office totalmente productivo
Arsys
 
Whitepaper - Elige el servicio de hosting más indicado para tu proyecto
Whitepaper - Elige el servicio de hosting más indicado para tu proyectoWhitepaper - Elige el servicio de hosting más indicado para tu proyecto
Whitepaper - Elige el servicio de hosting más indicado para tu proyecto
Arsys
 
Webinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPS
Webinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPSWebinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPS
Webinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPS
Arsys
 
Webinar - Instalar VMware en un servidor dedicado
Webinar - Instalar VMware en un servidor dedicadoWebinar - Instalar VMware en un servidor dedicado
Webinar - Instalar VMware en un servidor dedicado
Arsys
 
Whitepaper - Como mejorar el Business Intelligence de la empresa a través de ...
Whitepaper - Como mejorar el Business Intelligence de la empresa a través de ...Whitepaper - Como mejorar el Business Intelligence de la empresa a través de ...
Whitepaper - Como mejorar el Business Intelligence de la empresa a través de ...
Arsys
 

More from Arsys (20)

Whitepaper Arsys - Cómo reducir el consumo energético de un data center
Whitepaper Arsys - Cómo reducir el consumo energético de un data centerWhitepaper Arsys - Cómo reducir el consumo energético de un data center
Whitepaper Arsys - Cómo reducir el consumo energético de un data center
 
Whitepaper: La importancia del Delegado de Protección de Datos en una empresa...
Whitepaper: La importancia del Delegado de Protección de Datos en una empresa...Whitepaper: La importancia del Delegado de Protección de Datos en una empresa...
Whitepaper: La importancia del Delegado de Protección de Datos en una empresa...
 
Contenedores y protección de datos empresariales | Whitepaper
Contenedores y protección de datos empresariales | WhitepaperContenedores y protección de datos empresariales | Whitepaper
Contenedores y protección de datos empresariales | Whitepaper
 
Cómo elegir un software CRM adecuado a las necesidades de la organización
Cómo elegir un software CRM adecuado a las necesidades de la organizaciónCómo elegir un software CRM adecuado a las necesidades de la organización
Cómo elegir un software CRM adecuado a las necesidades de la organización
 
Webinar - eCommerce: ¿Cómo puedo vender en Amazon?
Webinar - eCommerce: ¿Cómo puedo vender en Amazon?Webinar - eCommerce: ¿Cómo puedo vender en Amazon?
Webinar - eCommerce: ¿Cómo puedo vender en Amazon?
 
Webinar - Primeros pasos con plesk
Webinar - Primeros pasos con pleskWebinar - Primeros pasos con plesk
Webinar - Primeros pasos con plesk
 
Webinar- Requisitos legales para crear una Tienda Online
Webinar- Requisitos legales para crear una Tienda OnlineWebinar- Requisitos legales para crear una Tienda Online
Webinar- Requisitos legales para crear una Tienda Online
 
Whitepaper - ¿Cómo elegir entre VPS, Servidor Cloud o Servidor dedicado?
Whitepaper - ¿Cómo elegir entre VPS, Servidor Cloud o Servidor dedicado?Whitepaper - ¿Cómo elegir entre VPS, Servidor Cloud o Servidor dedicado?
Whitepaper - ¿Cómo elegir entre VPS, Servidor Cloud o Servidor dedicado?
 
Whitepaper - Cómo implementar el teletrabajo seguro en la empresa
Whitepaper - Cómo implementar el teletrabajo seguro en la empresaWhitepaper - Cómo implementar el teletrabajo seguro en la empresa
Whitepaper - Cómo implementar el teletrabajo seguro en la empresa
 
Whitepaper - Guía Básica del Cloud Computing
Whitepaper - Guía Básica del Cloud ComputingWhitepaper - Guía Básica del Cloud Computing
Whitepaper - Guía Básica del Cloud Computing
 
Webinar – Introducción a Google Analytics
Webinar – Introducción a Google AnalyticsWebinar – Introducción a Google Analytics
Webinar – Introducción a Google Analytics
 
Guia automatizar herramientas-grc
Guia automatizar herramientas-grcGuia automatizar herramientas-grc
Guia automatizar herramientas-grc
 
Whitepaper - Cómo crear un menú desplegable en WordPress
Whitepaper - Cómo crear un menú desplegable en WordPress Whitepaper - Cómo crear un menú desplegable en WordPress
Whitepaper - Cómo crear un menú desplegable en WordPress
 
Whitepaper-Cómo gestionar tu WordPress por medio de la línea de comandosd
Whitepaper-Cómo gestionar tu WordPress por medio de la línea de comandosdWhitepaper-Cómo gestionar tu WordPress por medio de la línea de comandosd
Whitepaper-Cómo gestionar tu WordPress por medio de la línea de comandosd
 
La conversión de dominios internacionalizados: Punycode
La conversión de dominios internacionalizados: PunycodeLa conversión de dominios internacionalizados: Punycode
La conversión de dominios internacionalizados: Punycode
 
Cómo configurar un home office totalmente productivo
Cómo configurar un home office totalmente productivoCómo configurar un home office totalmente productivo
Cómo configurar un home office totalmente productivo
 
Whitepaper - Elige el servicio de hosting más indicado para tu proyecto
Whitepaper - Elige el servicio de hosting más indicado para tu proyectoWhitepaper - Elige el servicio de hosting más indicado para tu proyecto
Whitepaper - Elige el servicio de hosting más indicado para tu proyecto
 
Webinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPS
Webinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPSWebinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPS
Webinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPS
 
Webinar - Instalar VMware en un servidor dedicado
Webinar - Instalar VMware en un servidor dedicadoWebinar - Instalar VMware en un servidor dedicado
Webinar - Instalar VMware en un servidor dedicado
 
Whitepaper - Como mejorar el Business Intelligence de la empresa a través de ...
Whitepaper - Como mejorar el Business Intelligence de la empresa a través de ...Whitepaper - Como mejorar el Business Intelligence de la empresa a través de ...
Whitepaper - Como mejorar el Business Intelligence de la empresa a través de ...
 

Recently uploaded

Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
yuki22434
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
juanchogame18
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
SofiaCollazos
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
JuanAlvarez413513
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
tamarita881
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 

Recently uploaded (20)

Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 

PDO: Capa de abstracción de base de datos con PHP

  • 1. Miguel Angel Alvarez PDO: Abstracción del acceso a BBDD @midesweb @EscuelaIT
  • 2. Qué veremos hoy ▪ Índice o Introducción • Qué es PDO • Por qué usar PDO o Conexión o Acceso a datos
  • 5. Introducción a PDO PDO: "Objetos de Datos de PHP" - Es una capa de abstracción del acceso a la base de datos. - Usa clases y objetos - Disponible desde PHP5 (ya que usa el modelo de orientación a objetos de PHP que surgió desde PHP 5) Qué es PDO
  • 6. Introducción a PDO PDO: "Objetos de Datos de PHP" - Es una capa de abstracción del acceso a la base de datos. - Usa clases y objetos - Disponible desde PHP5 (ya que usa el modelo de orientación a objetos de PHP que surgió desde PHP 5) - No es una capa de abstracción de la base de datos (no es un ORM) Qué es PDO
  • 7. Introducción a PDO - Permite crear código independiente de la base de datos. - Disponibles controladores para: SQLite, MySQL / MariaDB, Oracle, PostgreSQL, SQL Server… - Te libera de aprender distintas interfaces de conexión a las diferentes bases de datos. - Seguridad, sencillez - Paso intermedio antes de acceder a los ORM Por qué usar PDO
  • 10. Introducción a PDO PDO para SQLite viene instalado por defecto. Generalmente ya viene instalado en los programas todo-en-uno para desarrollar (Xampp, Laragon, Mamp…) En el servidor depende de la configuración de nuestro hosting, o si tenemos un VPS, Cloud, Dedicado, tendremos que instalar nosotros el correspondiente driver. Instalar PDO
  • 12. Conexiones PDO Podemos configurar el modo de funcionamiento de PDO por medio de diversas constantes. https://www.php.net/manual/es/pdo.constants.php PDO::FETCH_ASSOC (Permite recibir los datos por medio de un array asociativo) PDO::FETCH_OBJ (Permite recibir los datos por medio de un objeto con las propiedades de cada columna) Constantes
  • 13. Conexiones PDO La conexión se realiza creando un nuevo objeto de la clase PDO. Conexión La conexión permanece activa siempre que ese objeto exista. Asignando "null" a la variable el objeto deja de existir y la conexión se cierra. (O al acabar el script) ---
  • 14. Conexiones PDO Si ocurre un error de conexión se levanta una excepción, que debemos de capturar y tratar para no revelar información sensible. Gestión de errores ---
  • 15. Conexiones PDO Variables de entorno Es recomendable usar variables de entorno. https://github.com/vlucas/phpdotenv Una librería para gestión de variables de entorno.
  • 17. Acceso a datos Ejecutar sentencias Trabajar con PDO es tan simple como hacerlo con una extensión de base de datos particular. El método query() devuelve un objeto PDOStatement que es iterable directamente como si fuera un array común.
  • 18. Acceso a datos Organizar el código Es interesante separar la lógica de acceso a los datos de nuestros programas.
  • 20. Preparar sentencias Preparar la sentencia Creamos la sentencia con los espacios para colocar las variables que queremos introducir. Devuelve un PDOStatement con la sentencia preparada.
  • 21. Preparar sentencias Ejecutamos la sentencia con los datos Ejecutamos la sentencia preparada asociando los datos que queremos insertar dentro de los huecos de la sentencia. El método execute devuelve true/false indicando si el proceso fue correcto. Transforma el objeto PDOStatement de modo que podemos acceder ya a los resultados. También se puede usar PDOStatement::bindParam().