Latest web development tutorials
×

PHP corso

PHP corso PHP breve introduzione PHP installare PHP grammatica PHP variabile PHP echo/print PHP Tipi di dati PHP costante PHP stringa PHP operatori PHP If...Else PHP Switch PHP schieramento PHP Ordinamento di un array PHP superglobals PHP While circolazione PHP For circolazione PHP funzione PHP Variabili magici PHP Namespace PHP Object-Oriented

PHP modulo

PHP modulo PHP Forms Authentication PHP modulo - I campi obbligatori PHP modulo - e-mail di verifica e l'URL PHP esempio forma completa PHP $_GET variabile PHP $_POST variabile

PHP Tutorial avanzato

PHP array multidimensionali PHP data PHP contenere PHP file PHP File Upload PHP Cookie PHP Session PHP E-mail PHP sicurezza E-mail PHP Error PHP Exception PHP filtro PHP Filtro avanzato PHP JSON

PHP 7 nuove funzionalità

PHP 7 nuove funzionalità

PHP Database

PHP MySQL breve introduzione PHP MySQL collegamento PHP MySQL Creazione di un database PHP MySQL Creare una tabella di dati PHP MySQL inserire i dati PHP MySQL Inserire più dati PHP MySQL prepared statement PHP MySQL leggere i dati 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 introduzione AJAX PHP AJAX Database AJAX XML AJAX ricerca in tempo reale AJAX RSS Reader AJAX voto

PHP Manuale di riferimento

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 Elaborazione immagini PHP RESTful

PHP Affari DOP e auto-commit

Manuale PHP DOP di riferimento Manuale PHP DOP di riferimento

Ora collegato tramite PDO è andato in prima dell'inizio della query, è necessario prima capire come PDO è di gestire gli affari.

supporto delle transazioni quattro proprietà (acido):

  • Atomicità (Atomicità)
  • La coerenza (coerenza)
  • Isolation (Isolamento)
  • Persistente (durata)

Più semplicemente, gli interventi effettuati in una operazione anche un'implementazione graduale, ma anche per garantire la sicurezza applicato al database, e non verrà presentata interferenze tempo ad altre connessioni.

operazioni di transazioni possono anche essere revocate automaticamente su richiesta (supponendo che non ancora presentato), che rende più facile gestire gli errori in uno script.

L'operazione di solito è fatto da una serie di variazioni "risparmio" e poi ha permesso di entrare in vigore e attuate; vantaggi di farlo è quello di fornire l'efficienza di questi può essere molto cambiata.

In altre parole, le transazioni possono rendere i vostri script più veloci e potenzialmente più robusto (è comunque necessario usarli correttamente a mietere ciò beneficio).

Purtroppo, non tutti i database supporta le transazioni, in modo che quando si apre il collegamento, DOP richiede la cosiddetta modalità di funzionamento "auto-commit".

Auto-commit mode significa che se il supporto di database, ogni esecuzione di query ha la propria transazione implicita, se il database non supporta le transazioni, no.

Se avete bisogno di una transazione, è necessario utilizzare il metodo DOP :: beginTransaction () per iniziare. Se il driver sottostante non supporta le transazioni, lanciare un PDOException eccezione (indipendentemente dal tipo di impostazioni di gestione degli errori, questa è una grave condizione di errore).

Una volta che la transazione è disponibile PDO :: commit () o PDO :: rollback () per completare, a seconda del codice di transazione è in esecuzione con successo.

Nota: DOP solo se la capacità di elaborazione delle transazioni nell'ispezione strato di driver. Se alcune condizioni di esecuzione significa che una transazione non è disponibile, e il servizio di database accetta una richiesta di avviare la transazione, PDO :: beginTransaction () restituirà ancora TRUE e nessun errore. Provare a utilizzare la transazione è un buon esempio nelle tabelle del database MyISAM MySQL.

Quando lo script è conclusa o la connessione è in procinto di essere chiusa, se non vi è una transazione completata, DOP rotolerà automaticamente la transazione. Questa misura di sicurezza consente di evitare incongruenze nello script termina inaspettatamente - se non impegnarsi in modo esplicito della transazione, quindi il presupposto è sbagliato da qualche parte, in modo che il ripristino viene effettuato per garantire la sicurezza dei dati.

Nota: avviare solo una transazione DOP :: beginTransaction () in seguito, può accadere automaticamente rollback. Se si esegue manualmente una query per avviare una transazione, la DOP non può sapere, in modo che, se necessario, non può essere rotolato indietro.

In una transazione di esecuzione batch:

Nel seguente esempio, si supponga di creare un insieme di voci per i nuovi dipendenti, assegnare un ID 23 è. Oltre ai dati di base della persona di registrazione, ma anche è necessario registrare il suo stipendio.

Entrambi gli aggiornamenti sono stati completati è molto semplice, ma con la chiusura della DOP :: beginTransaction () e la chiamata PDO :: commit (), è possibile far sì che prima che i cambiamenti, gli altri non possono vedere questi cambiamenti.

In caso di errore, il fermo di bloccare tutte le modifiche dal momento che la transazione è stata rollback fin dall'inizio, ed emette un messaggio di errore.

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

Non è limitato ai cambiamenti della transazione, può emettere query complesse per estrarre i dati, ma anche per costruire ulteriori modifiche e query utilizzando tali informazioni; quando la transazione è attiva, è possibile garantire che gli altri non possono fare cambiamenti nel funzionamento in corso.


Manuale PHP DOP di riferimento Manuale PHP DOP di riferimento