PHP es un lenguaje de programación de código abierto y de propósito general, ampliamente utilizado para crear páginas web dinámicas e interactivas. PHP puede acceder a una amplia gama de sistemas de gestión de bases de datos relacionales, como MYSQL, SQLite , y PostgreSQL . El PHP 5.1 La versión ofrecía una nueva biblioteca de abstracción de conexión de base de datos, que es Objetos de datos PHP (DOP).
¿Qué es la DOP?
DOP se refiere a Objeto de datos PHP , que es una extensión de PHP que define una interfaz liviana y consistente para acceder a una base de datos en PHP. Es un conjunto de extensiones PHP que proporcionan una clase PDO central y un controlador específico de la base de datos. Cada controlador de base de datos puede exponer características específicas de la base de datos como una función de extensión normal que implementa la interfaz PDO.
desactivar el modo desarrollador android
Nota: No podemos realizar ningún tipo de función de base de datos utilizando la extensión PDO. Para acceder a un servidor de base de datos, debemos utilizar un controlador PDO específico de la base de datos.
PDO se centra principalmente en la abstracción del acceso a datos en lugar de la abstracción de bases de datos. Proporciona capa de abstracción de acceso a datos , lo que significa que, independientemente de qué base de datos estemos usando, tenemos que usar las mismas funciones proporcionadas por esa base de datos para realizar consultas y recuperar datos. PDO no proporciona abstracción de datos, ya que no reescribe el SQL ni emula funciones faltantes.
Ventaja de la DOP
PDO proporciona varias formas de trabajar con objetos y recupera declaraciones preparadas que facilitan mucho el trabajo. Es una herramienta de acceso a bases de datos en PHP a través de la cual habilitamos el acceso uniforme entre varias bases de datos.
PDO permite un cambio comparativamente fluido entre diferentes bases de datos y plataformas, lo que se puede hacer fácilmente cambiando la cadena de conexión. No admite sintaxis específicas de bases de datos.
Algunas ventajas de la DOP son las siguientes:
La extensión PDO puede acceder a cualquier base de datos escrita para el controlador PDO. Hay varios controladores PDO disponibles que se utilizan para FreeTDS, Microsoft SQL Server, Sybase, IBM DB2, interfaz de llamada de Oracle, Firebird/Interbase 6 , y PostgreSQL bases de datos, entre muchas más.
Los controladores no están disponibles automáticamente en todos los sistemas, por lo que tenemos que encontrar los controladores disponibles y agregarlos cuando los necesitemos.
Hay diferentes sintaxis disponibles para establecer la conexión a la base de datos. Estas sintaxis dependen de bases de datos específicas. Al usar PDO, las operaciones deben incluirse en bloques try/catch y utilizar la técnica de excepción.
Por lo general, solo es necesario crear una conexión y estas conexiones se cierran programando la base de datos para que se establezca como nula.
PDO permite utilizar excepciones para el manejo de errores. Para producir una excepción, se puede forzar a PDO a que entre en un atributo de modo de error relevante.
Hay tres modos de error, es decir, Silencioso (por defecto), Advertencia , y Excepción . Advertencia y Excepción son más útiles en la programación DRY.
PDO reduce la operación de inserción y actualización de bases de datos comúnmente utilizada a un proceso de dos pasos, es decir.
Preparar >> [Enlazar] >> Ejecutar.
A través de este método, podemos aprovechar al máximo las declaraciones preparadas de PDO, que protegen contra ataques maliciosos mediante inyección SQL.
Las declaraciones preparadas son declaraciones SQL precompiladas que se pueden ejecutar varias veces enviando estos datos al servidor. Estos datos, que se utilizan dentro del marcador de posición, se protegen automáticamente del ataque de inyección SQL.
Beneficios de usar DOP
PDO es el controlador de base de datos nativo. Hay algunos beneficios de usar PDO que se detallan a continuación:
Clases DOP
Hay tres clases de DOP, que se detallan a continuación:
Bases de datos soportadas por PDO
- mysql
- PostgreSQL
- Oráculo
- pájaro de fuego
- Servidor MS SQL
- Sybase
- informax
- IBM
- TDS gratis
- SQLite
- Cubrid
- 4D
Comparación entre PDO y MySQLi
Para acceder a la base de datos mediante PHP, tenemos principalmente dos opciones: MySQLi y DOP (Objeto de datos PHP). MySQLi es un nativo de PHP que proporciona un rendimiento más rápido, mientras que la mayoría de los desarrolladores experimentados prefieren trabajar con PDO, ya que admite una amplia variedad de controladores de bases de datos. Existen algunas diferencias entre PDO y MySQLi que se enumeran a continuación según sus características.
Características | DOP | MySQLi |
---|---|---|
Soporte de base de datos | 12 conductores diferentes | Sólo MySQL |
Conexión | Fácil | Fácil |
API | ABIERTO | POO + Procedimiento |
Actuación | Rápido | Rápido |
Parámetro con nombre | Sí | No |
Mapeo de objetos | Sí | Sí |
Procedimiento almacenado | Sí | Sí |
Declaraciones preparadas del lado del cliente | Sí | No |
Seguridad | Más seguro que MySQLi. | Seguro pero no más que DOP. |
¿Cuál debería preferirse entre PDO o MySQLi?
Tanto PDO como MySQLi tienen sus propias ventajas:
- Como hemos visto anteriormente, PDO funciona en 12 sistemas de bases de datos diferentes, mientras que MySQL sólo puede funcionar con una base de datos MySQL. Entonces, si queremos cambiar nuestro proyecto a otra base de datos, PDO lo pone fácil. En MySQLi, tenemos que reescribir todo el código.
- PDO y MySQLi están orientados a objetos, pero MySQLi también ofrece API de procedimientos. Ambos admiten declaraciones preparadas. Las declaraciones preparadas son importantes para la seguridad de las aplicaciones web, ya que protegen contra la inyección de SQL.
Requisito
No se necesitan bibliotecas externas para crear esta extensión.
Proceso de instalación
Paso 1: Descargue el último servidor XAMPP desde aquí https://www.apachefriends.org/download.html para diferentes plataformas como Windows, Linux y MacOS.
Nota: Aquí discutiremos el proceso de instalación solo para el sistema operativo Windows.
Paso 2: Instale el servidor XAMPP en su sistema siguiendo estos pasos.
java más si
Paso 3: Seleccione los componentes que desea instalar y haga clic en el botón Siguiente.
Etapa 4: Cree la nueva carpeta con el nombre xampp en la ubicación donde desea instalar XAMPP.
Paso 5: Haga clic en Siguiente aquí y siga adelante. La instalación del servidor XAMPP comenzará desde aquí.
ordenación fusionada
Paso 6: XAMPP se instaló correctamente. Haga clic en el botón Finalizar.
Paso 7: Seleccione el idioma preferido.
Paso 8: Ejecute el servidor Apache y MySQL desde aquí (según la captura de pantalla proporcionada).
Paso 9: Ahora, abre php.ini desde C:/xampp/php/php.ini (donde has instalado tu XAMPP) y descomenta la extensión 'php_pdo_mysql.dll' y 'php_pdo.dll' (si está trabajando con una base de datos MySQL), o 'php_pdo_oci.dll' (si está trabajando con una base de datos Oracle). Ahora, comience a trabajar con la base de datos. En la versión superior de PHP 5.1, ya está configurado.
Trabajar con DOP
En primer lugar, necesitamos crear una base de datos, así que cree una base de datos con el nombre myDB desde aquí.
Conexión de base de datos
Siempre se requiere una conexión a la base de datos para interactuar con la base de datos. Por lo tanto, necesitamos conocer el identificador para acceder a la base de datos, es decir, la ubicación de la base de datos, el nombre de la base de datos, el nombre de usuario y la contraseña.
Ahora, cree el programa de conexión de la base de datos usando PDO en cualquier editor de texto como notepad o notepad++ y guárdelo con el nombre coonection.php. Ejecútelo en el servidor XAMPP usando localhost/80.
Ejemplo
getMessage(); } ?>
Producción
Ejecútelo en el servidor usando la siguiente URL localhost/Xampp/pdoexample/connection.php/ o donde haya guardado su programa.
Manejo de errores de conexión
Se generará un objeto PDOException si hay algún error de conexión. Podemos detectar la excepción si queremos manejar la condición de error, o también podemos dejarla en manos del manejador de excepciones global que puede ser configurado por set_exception_handler() función.
sitios como bedpage
Ejemplo
En este ejemplo, dbUser(user-id) es incorrecto, por lo que generará una excepción, como podemos ver en el resultado.
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Echo 'Successfully connected with myDB database'; } catch(Exception $e){ Echo 'Connection failed' . $e->getMessage(); } ?>
Cerrar la conexión de la base de datos
getMessage(); } // this command close the connection. $dbConn = null; ?>
Producción