$mysqli->autocommit(false);
// Запросы
$mysqli->commit();
и вот еще, приведите примеры, когда можно использовать $mysqli->rollback(), а то что-то нет мыслей как это можно задействовать в проекте.
$mysqli->autocommit(false);
// Запросы
$mysqli->commit();
// start transaction
try {
// запросы для одной операции
} catch (Exception $e) { // Exception - для примера, лучше ловить конкретных наследников
// rollback
throw $e;
}
// commit
$mysqli->autocommit(false);
$mysqli->query("Запрос на вставку");
if($mysqli->affected_rows == 0)
{
$mysqli->rollback();
return false;
}
$mysqli->query("Второй запрос транзакции");
if($mysqli->affected_rows == 0)
{
$mysqli->rollback();
return false;
}
//И так далее
$mysqli->commit();
Цитата (Invis1ble @ 23.09.2015 - 15:11) |
пример в виде псевдокода: |
Цитата (twin @ 23.09.2015 - 18:23) |
Она автоматически откатится по завершении скрипта. |
Цитата (123456 @ 23.09.2015 - 15:24) |
А вот приведите пример из жизни, когда приходилось использовать подобный откат? |
Цитата (Invis1ble @ 23.09.2015 - 15:25) |
причем тут исключения? |
Цитата (123456 @ 23.09.2015 - 18:24) |
А вот приведите пример из жизни, когда приходилось использовать подобный откат? |
Цитата (twin @ 23.09.2015 - 18:34) |
Всмысле... В твоем примере их нету? |
Цитата (Invis1ble @ 23.09.2015 - 15:46) |
есть |
Цитата (123456 @ 23.09.2015 - 17:24) |
Как записать это все, я видел в мануале! А вот приведите пример из жизни, когда приходилось использовать подобный откат? |
Цитата (Arh @ 23.09.2015 - 20:10) |
Да он их привёл как пример, написано же "псевдокод" =) |