несколько запросов в транзакции и фиксация / откат с php - PullRequest
1 голос
/ 07 декабря 2011

Допустим, у меня есть три запроса mysql:

SELECT customer_id FROM customers WHERE name = 'John'
INSERT INTO quests_on (quest_id, name, quest_points) VALUES ('1', 'John', '15)
UPDATE badges_on SET badge_owned = 'owned' WHERE quest_id = '1'

Как использовать транзакцию mysql, чтобы убедиться, что все изменения сделаны, иначе откатите изменения.Будет ли достаточно использовать расширение PDO в php?Просто нужна была некоторая ясность.Мне также было интересно, если у вас могут быть запросы SELECT в транзакции и что транзакции могут принимать разные пути (например, существует ли значение из запроса SELECT или нет)

1 Ответ

2 голосов
/ 07 декабря 2011
$db = new PDO($dsn, $user, $password);
$db->beginTransaction();
try {
  // do your queries here, using PDO and $db object
  $db->commit();
} catch (PDOException $e) {
  $db->rollback();
}

Для получения дополнительной информации, пожалуйста, прочитайте http://www.php.net/manual/en/book.pdo.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...