Witam
moja wersja mysql *Client API version 5.1.54 *
transakcje działają do Beginning with MySQL 5.0.3
czyli myślę że coś robię, źle tylko nie wiem co...
$pdo -> query("SET autocommit=0;");
$pdo -> query("START TRANSACTION;");
$sql = "UPDATE `platnosci` "
. "SET `pay-trans-count` = `pay-trans-count` + 1 "
. "WHERE `pay-trans-id` = '111' LIMIT 1 ;";
$pdo -> query($sql);
$sql = "SELECT `pay-trans-count` FROM `platnosci` WHERE `pay-trans-id` = '111' LIMIT 0, 30 ";
$q = $pdo -> query($sql);
foreach($q as $row)
{
if($row==0)
$pdo -> query("COMMIT;");
else
{
$pdo -> query("ROLLBACK");
echo "TU";
}
}
Tu jest mój kod który w bazie danych zwiększa jeden z rekordów o 1 i wyświetla "TU".
A wg mnie powinien nie dodać tego 1 do rekordu ponieważ wykonał ROLLBACK.
Czemu ROLLBACK nie działa?