Транзакции в MySQL

Категория: SQL Комментариев: 1

В СУБД MySQL имеется возможность выполнения транзакций с таблицами типа InnoDB. Ниже представлен PHP-класс, который позволит использовать в Ваших скриптах этот механизм транзакций.

class Transaction {
var $dbh;

function Transaction($host, $username, $password) {
$this->dbh = mysql_connect($host, $username, $password);
}

function _Transaction() {
mysql_disconnect($this->dbh);
}

function begin() {
mysql_query("BEGIN", $this->dbh);
}

function rollback() {
mysql_query("ROLLBACK", $this->dbh);
}

function commit() {
mysql_query("COMMIT", $this->dbh);
}
}

Вызвать в своем скипте этот класс и выполнить транзакцию можно следующим образом:

$tx =& new Transaction("localhost", "username", "password");
$tx->begin();
$dbh = mysql_connect("localhost", "username", "password");
$result = mysql_query("INSERT ...");
if (!$result) {
$tx->rollback();
} else {
$tx->commit();
}
mysql_disconnect($dbh);
unset($tx);

Автор: Кто-то   @   18 февраля 2009 Комментариев: 1
Метки : ,

Поблагодарить автора

Webmoney Z163628999150, R617151845974

Комментариев: 1

Комментарии
мая 7, 2009
12:12
#1 шЫшл мЫшл :

Бред =) Пример убог, так как не раскрывает хотя бы десятой части функциональности класса работы с БД.

$dbh = mysql_connect («localhost», «username», «password»); не нужен, так как у тебя там конструктор и т.д.

оставить комментарий

Предыдущая запись
«
Следующая запись
»