Latest web development tutorials
×

PHP curso

PHP curso PHP breve introdução PHP instalar PHP gramática PHP variável PHP echo/print PHP Tipos de dados PHP constante PHP corda PHP operadores PHP If...Else PHP Switch PHP ordem PHP Classificação de uma matriz PHP superglobais PHP While circulação PHP For circulação PHP função PHP Variáveis ​​mágicas PHP namespaces PHP Object-Oriented

PHP formulário

PHP formulário PHP Autenticação de formulários PHP formulário - campos obrigatórios PHP formulário - -mail de verificação e URL PHP instância de formulário completo PHP $_GET variável PHP $_POST variável

PHP Tutorial avançado

PHP arrays multidimensionais PHP data PHP conter PHP arquivo PHP Carregar arquivo PHP Cookie PHP Session PHP E-mail PHP segurança E-mail PHP Error PHP Exception PHP filtro PHP Filtro avançado PHP JSON

PHP 7 novos Recursos

PHP 7 novos Recursos

PHP banco de dados

PHP MySQL breve introdução PHP MySQL conexão PHP MySQL Criação de um banco de dados PHP MySQL Criar uma tabela de dados PHP MySQL inserir dados PHP MySQL Inserir dados múltiplos PHP MySQL instruções preparadas PHP MySQL ler dados 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 introdução AJAX PHP AJAX banco de dados AJAX XML AJAX busca em tempo real AJAX RSS Reader AJAX voto

PHP manual de referência

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 Processamento de imagem PHP RESTful

PHP Assuntos DOP e auto-commit

Manual do PHP DOP Referência Manual do PHP DOP Referência

Agora conectado via DOP entrou antes do início da consulta, você deve primeiro entender como DOP é de gerir os negócios.

suporte a transações quatro propriedades (ácido):

  • Atomicidade (atomicidade)
  • Consistência (consistência)
  • Isolamento (Isolation)
  • Persistente (durabilidade)

Mais simplesmente, qualquer operação realizada em uma transação, mesmo uma implementação faseada, mas também para garantir a segurança aplicado ao banco de dados, e não será apresentado em interferência tempo de outras conexões.

operações de transação também pode ser revogada automaticamente mediante pedido (assumindo que ainda não apresentados), o que torna mais fácil de manipular erros no script.

A transação geralmente é feito por uma série de mudanças "poupança" para cima e depois deixa-se entrar em vigor e implementado, os benefícios de fazê-lo é proporcionar a eficiência destes pode ser muito alterada.

Em outras palavras, as transações podem tornar seus scripts mais rápido e potencialmente mais robusto (você ainda precisa usá-los corretamente para colher esse benefício).

Infelizmente, nem todos os banco de dados suporta transações, por isso, quando você abre a conexão, DOP necessita que o chamado modo de operação "auto-commit".

Auto-commit modo significa que se o suporte de banco de dados, cada execução de consulta tem a sua própria transação implícita, se o banco de dados não suporta transações, não.

Se precisar de uma transação, você deve usar o método PDO :: beginTransaction () para iniciar. Se o driver subjacente não suporta transações, lançar uma PDOException exceção (independentemente de que tipo de configurações de tratamento de erros, esta é uma condição grave erro).

Uma vez que a transação está disponível PDO :: commit () ou PDO :: Rollback () para ser concluído, dependendo do código de transação está sendo executado com sucesso.

Nota: DOP unicamente se a capacidade de processamento de transações na inspeção camada de motorista. Se alguma condição de tempo de execução significa que uma transação não estiver disponível, e o serviço de banco de dados aceita uma solicitação para iniciar a operação, PDO :: beginTransaction () ainda irá retornar TRUE e sem erros. Tente usar a transação é um bom exemplo nas tabelas MyISAM de banco de dados MySQL.

Quando o script terminou ou se a conexão está prestes a ser fechado, se não houver uma transação concluída, PDO irá automaticamente reverter a transação. Esta medida de segurança ajuda a evitar inconsistências no script termina inesperadamente - se não comprometer explicitamente a transação, em seguida, o pressuposto é errado em algum lugar, então a reversão é realizada para garantir a segurança dos dados.

Nota: Somente iniciar uma transação PDO :: beginTransaction () mais tarde, pode acontecer automaticamente revertida. Se você emitir manualmente uma consulta para iniciar uma transação, o DOP não pode saber, de modo que, se necessário, não pode ser revertida.

Numa operação de execução de lote:

No exemplo a seguir, suponha que você crie um conjunto de entradas para os novos funcionários, atribuir um ID 23 é. Além dos dados básicos da pessoa registro, mas também tem de gravar o seu salário.

Ambas as atualizações são concluídas, é muito simples, mas fechando a PDO :: beginTransaction () e chamada PDO :: commit (), é possível assegurar que, antes das mudanças, outras pessoas não podem ver essas mudanças.

Se ocorrer um erro, a captura bloquear todas as alterações desde a transação foi revertida desde o início, e emite uma mensagem de erro.

<?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();
}
?>

não se limita a mudanças na transação, ele pode emitir consultas complexas para extrair dados, mas também para construir mais mudanças e consulta utilizando essas informações, quando a transação está ativa, você pode garantir que outras pessoas não podem fazer mudanças na operação em curso.


Manual do PHP DOP Referência Manual do PHP DOP Referência