Транзакции базы данных привязаны к одному соединению. Соединения обычно закрываются, когда скрипт PHP завершается, и попытка сделать соединение постоянным для одного и того же пользователя по нескольким запросам было бы очень проблематично.
Насколько это возможно, лучше всего рассматривать HTTP-запросы как не имеющие состояния. Это означает, что изменения должны вноситься в базу данных в конце каждого запроса, и отмена в HTTP, вероятно, должна быть связана не с откатом предыдущей транзакции, а с фактической фиксацией изменений в базе данных.