За последние 24 часа нас посетили 18529 программистов и 1603 робота. Сейчас ищут 988 программистов ...

Транзакция PDO. Нужна помощь!

Тема в разделе "MySQL", создана пользователем Oleg_php, 1 мар 2012.

  1. Oleg_php

    Oleg_php Активный пользователь

    С нами с:
    17 янв 2012
    Сообщения:
    80
    Симпатии:
    0
    Написал вот такой код, но он не работает как надо, то есть всё-равно добавляет часть данных. Если например даже сделать ошибку в таблице role и написать в поле не role а rol, данные всё-равно добавляются тогда в таблицу users, а по идеи вроде как не должны.

    try
    {
    $dbh->beginTransaction();
    $dbh->exec("insert into users (login)
    values ('Bill')");

    $lastInsertId = $dbh->lastInsertId();

    $dbh->exec("insert into role (role)
    values ($lastInsertId)");
    throw new PDOException("неожиданная ошибка PDO!");


    $dbh->commit();

    echo "Вставлено ID: $lastInsertId";
    }
    catch(PDOException $e)
    {
    $dbh->rollBack();
    echo "rollback<br/>";
    echo $e->getMessage();
    }
     
  2. AndreJM

    AndreJM Активный пользователь

    С нами с:
    25 янв 2012
    Сообщения:
    522
    Симпатии:
    0