Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Завтра :

День славянской письменности и культуры


Транзакции PHP+MySql


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
Пол:Муж Finn
Новичок


Возраст: 25
Знак зодиака: Скорпион
Зарегистрирован: 14.05.2008
Сообщения: 3
Откуда: Беларусь
СообщениеВс, 19-Июн-2011 13:31    Заголовок сообщения: Транзакции PHP+MySql
Цитата

Есть 2 страницы, на первой стартуется транзакция и добавляется запись в одну таблицу.На второй странице добавляются записи в другую таблицу, добавляя id значения с только что добавленной записи первой таблицы, далее сохранение либо откат действий транзакции. Можно ли таким образом реализовать транзакции? Или транзакции работают только в пределах одного сценария?(при переходе на другую страницу происходит завершение транзакции с сохранением изменений).
_________________
Аксиома Кана: Если ничто другое не помогает, прочтите, наконец, инструкцию.
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж TuXAPuK
Великий гонщик

Предупреждений : 1
Возраст: 26
Знак зодиака: Рыбы
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
СообщениеСр, 13-Июл-2011 3:30 
Цитата

Транзакция закрывается автоматический когда закрывается соединение. При этом если транзакция не была закрыта, производиться ROLLBACK.

На ваш вопрос отвечу :

Нет нельзя, нельзя чисто из технических соображений, так как BEGIN TRANSACTION блокирует сервер (BEGIN TRANSACTION, COMMIT / ROLLBACK лучше всего делать в теле одной функции когда все данные уже переработаны скриптом), передайте переработку 1й страницы на вторую, и там произведите все вычисления и запись в БД.

Передать переработку можно например с помощью встроенной функции PHP serialize

php:
  1. echo '<input type="hidden" name="form1" value="'. htmlentities(serialize($_POST)) .'">';


и раскодировать с помощью unserialize

php:
  1. $form1data = unserialize($_POST['form1']);


Теперь в теории :
Если использовать mysql_pconnect то может быть можно, но только в случае крайней нужды.

_________________
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Пол:Муж Skulpen
Новичок


Возраст: 28
Знак зодиака: Рак
Зарегистрирован: 28.12.2011
Сообщения: 1
Откуда: Москва
СообщениеСр, 28-Дек-2011 15:22 
Цитата

Как вариант - можно использовать временную таблицу, куда писать данные с первой страницы
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100