Отменить транзакцию
Назначение
Отмена текущей транзакции.
Синтаксические правила
bool PDO::rollBack();
Описание
Функция отменяет в БД внесенные текущей транзакцией изменения.
Возвращаемое значение
Результат отмены транзакции:
-
true
– изменения в БД не сохранены; -
false
– неуспешная отмена транзакции, данные, возможно, остались в системном журнале БД.
Пример
< ?php function countRows($action) { global $dbh; $select = $dbh- >prepare('SELECT COUNT(*) FROM test'); $select- >execute(); $res = $select- >fetchColumn(); return "Counted $res rows after $action.\n"; } $dbh = new PDO("linter:node=;dbname=DEMO","SYSTEM","MANAGER8"); $dbh- >exec('CREATE TABLE test(id INT NOT NULL PRIMARY KEY, val VARCHAR(10))'); $dbh- >exec("INSERT INTO test VALUES(1, 'A')"); $dbh- >exec("INSERT INTO test VALUES(2, 'B')"); $dbh- >exec("INSERT INTO test VALUES(3, 'C')"); $delete = $dbh- >prepare('DELETE FROM test'); echo countRows('insert'); $dbh- >beginTransaction(); $delete- >execute(); echo countRows('delete'); $dbh- >rollBack(); echo countRows('rollback'); $dbh- >beginTransaction(); $delete- >execute(); echo countRows('delete'); $dbh- >commit(); echo countRows('commit'); $dbh = null; ? >