PDO::beginTransaction()

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

PDO::beginTransaction

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::beginTransaction — Initierar en transaktion

Beskrivning

public PDO::beginTransaction(): bool

Stänger av autocommit-läge. När autocommit-läget är avstängt sparas inte ändringar som görs via PDO-objektet i databasen förrän transaktionen avslutas med PDO::commit(). Ett anrop till PDO::rollBack() rullar tillbaka alla ändringar i databasen och återställer kopplingen till autocommit-läge.

Vissa databaser, inklusive MySQL, utfärdar automatiskt ett implicit COMMIT när ett databasdefinitionskommando (DDL), såsom `DROP TABLE` eller `CREATE TABLE`, körs inom en transaktion. Det implicita COMMIT förhindrar dig från att rulla tillbaka andra ändringar inom transaktionsgränsen.

Parametrar

Denna funktion har inga parametrar.

Returnerar

Returnerar `true` vid framgång eller `false` vid misslyckande.

Fel/Undantag

- Kastar ett `PDOException` om det redan finns en aktiv transaktion eller om drivrutinen inte stödjer transaktioner. - Ett undantag kastas även om attributet `PDO::ATTR_ERRMODE` inte är satt till `PDO::ERRMODE_EXCEPTION`.

Exempel

Exempel #1 Rulla tillbaka en transaktion

<?php
/* Starta en transaktion och stäng av autocommit */
$dbh->beginTransaction();

/* Ändra databasschema och data */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = 'hamburger'");

/* Upptäck misstaget och rulla tillbaka ändringarna */
$dbh->rollBack();

/* Databaskopplingen är nu tillbaka i autocommit-läge */
?>

Se även

Sidslut

Orginalhemsidan på Engelska :https://www.php.net/manual/en/pdo.begintransaction.php
PHP Funktioner Funktionsreferens Databas-tillägg


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Huddinge Datorhjälp som har sponsrat Linux.se med webbhotell.