Latest web development tutorials
×

PHP curso

PHP curso PHP breve introducción PHP instalar PHP gramática PHP variable PHP echo/print PHP Tipos de datos PHP constante PHP cadena PHP operadores PHP If...Else PHP Switch PHP formación PHP Ordenación de un conjunto PHP superglobals PHP While circulación PHP For circulación PHP función PHP Las variables mágicas PHP Los espacios de nombres PHP Orientado a Objetos

PHP formulario

PHP formulario PHP autenticación de formularios PHP formulario - Los campos necesarios PHP formulario - correo electrónico de verificación y la URL PHP instancia completa formulario PHP $_GET variable PHP $_POST variable

PHP Tutorial avanzado

PHP Las matrices multidimensionales PHP fecha PHP contener PHP expediente PHP Cargar archivo PHP Cookie PHP Session PHP E-mail PHP seguridad E-mail PHP Error PHP Exception PHP filtro PHP filtro avanzado PHP JSON

PHP 7 nuevas características

PHP 7 nuevas características

PHP base de datos

PHP MySQL breve introducción PHP MySQL conexión PHP MySQL La creación de una base de datos PHP MySQL Crear una tabla de datos PHP MySQL insertar datos PHP MySQL Insertar datos múltiples PHP MySQL Sentencias preparadas PHP MySQL leer datos PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX breve introducción AJAX PHP AJAX base de datos AJAX XML AJAX búsqueda en tiempo real AJAX RSS Reader AJAX voto

PHP Manual de referencia

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP Procesamiento de imágenes PHP RESTful

PHP PDO y Asuntos de confirmación automática

Manual de PHP DOP Referencia Manual de PHP DOP Referencia

Ahora está conectado a través de DOP entró antes del inicio de la consulta, primero hay que entender cómo DOP es la gestión de los asuntos.

Soporte de transacciones cuatro propiedades (ácido):

  • La atomicidad (atomicidad)
  • Coherencia (consistencia)
  • Aislamiento (aislamiento)
  • Persistente (Durabilidad)

Más sencillamente, ningún operaciones que se realizan en una transacción, incluso una aplicación gradual, sino también para garantizar la seguridad aplicada a la base de datos, y no se presentará en la interferencia tiempo de otras conexiones.

operaciones de transacción también pueden ser revocados automáticamente a petición (suponiendo que aún no se ha presentado), lo que hace que sea más fácil de manejar los errores en un script.

La transacción se realiza habitualmente mediante una serie de "ahorro" cambios y después se deja que entre en vigor y aplicado; beneficios de hacerlo es proporcionar la eficiencia de éstas puede ser cambiado en gran medida.

En otras palabras, las transacciones pueden hacer que sus guiones más rápida y potencialmente más robusta (que todavía necesita utilizarlos correctamente para obtener ese beneficio).

Por desgracia, no todas las bases de datos soporta transacciones, por lo que cuando se abre por primera vez la conexión, requiere DOP llamado modo de operación de "auto-entrega".

Auto-entrega modo significa que si el soporte de base de datos, cada ejecución de consulta tiene su propia transacción implícita, si la base de datos no admite transacciones, no.

Si necesita una transacción, debe utilizar el método PDO :: beginTransaction () para iniciar. Si el conductor subyacente no admite transacciones, lanzar una excepción PDOException (independientemente de qué tipo de configuración de gestión de errores, se trata de una condición de error grave).

Una vez que la transacción está disponible PDO :: commit () o PDO :: rollback () para completar, dependiendo del código de transacción se ejecute correctamente.

Nota: PDO solamente si la capacidad de procesamiento de transacciones en la inspección capa de conductor. Si alguna condición de ejecución significa que una transacción no está disponible, y el servicio de base de datos acepta una solicitud de inicio de la operación, PDO :: beginTransaction () seguirá devolviendo TRUE y no hay errores. Intente utilizar la transacción es un buen ejemplo de las tablas MyISAM base de datos MySQL.

Cuando terminó la secuencia de comandos o la conexión está a punto de ser cerrado, si no hay una transacción completada, PDO rodará automáticamente la transacción. Esta medida de seguridad ayuda a evitar inconsistencias en el guión termina inesperadamente - si no comprometerse explícitamente la transacción, entonces la suposición es incorrecta en alguna parte, por lo que la reversión se realiza para garantizar la seguridad de datos.

Nota: Sólo iniciar una transacción PDO :: beginTransaction () más adelante, puede suceder automáticamente deshace. Si emite una consulta manualmente para iniciar una transacción, la DOP no puede conocer, de manera que, si es necesario, no pueden deshacerse.

En una transacción de ejecución por lotes:

En el siguiente ejemplo, supongamos que crea un conjunto de entradas para los nuevos empleados, asignar un ID 23 es. Además de los datos básicos de la persona de registro, sino que también necesita registrar su salario.

Ambas actualizaciones se realizan es muy simple, pero al cerrar la PDO :: beginTransaction () y llamada PDO :: commit (), es posible asegurar que antes de los cambios, otras personas no pueden ver estos cambios.

Si se produce un error, la captura bloquear todos los cambios desde la transacción finalmente cancelada desde el principio, y emite un mensaje de error.

<?php
try {
  $dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2', 
      array(PDO::ATTR_PERSISTENT => true));
  echo "Connected\n";
} catch (Exception $e) {
  die("Unable to connect: " . $e->getMessage());
}

try {  
  $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $dbh->beginTransaction();
  $dbh->exec("insert into staff (id, first, last) values (23, 'Joe', 'Bloggs')");
  $dbh->exec("insert into salarychange (id, amount, changedate) 
      values (23, 50000, NOW())");
  $dbh->commit();
  
} catch (Exception $e) {
  $dbh->rollBack();
  echo "Failed: " . $e->getMessage();
}
?>

no se limita a los cambios en la transacción, puede emitir consultas complejas para extraer los datos, sino también para construir más cambios y consulta que utiliza esa información; cuando la transacción está activo, puede asegurarse de que otras personas no pueden hacer cambios en la operación en curso.


Manual de PHP DOP Referencia Manual de PHP DOP Referencia