Изменена поведение транзакции PHP-InterBase по умолчанию

StackOverflow https://stackoverflow.com/questions/5452220

  •  12-11-2019
  •  | 
  •  

Вопрос

У меня есть несколько сценариев PHP CLI, которые работают в течение длительного времени (24 часа плюс), и хотя они делают регулярные «У меня были некоторые проблемы с осиротами, - возможно, вызванные выключенными скриптами.

Мое решение было созданию транзакции следующим образом - это было год назад, что я исследовал это и не могу вспомнить точные причины для этих настроек, но казалось, что решает некоторые проблемы с базой данных.

$ dbh= ibase_connect ($ dbhost, $ dbuser, $ dbpass); $ trans= ibase_trans (ibase_write + ibase_commed + ibase_rec_version + ibase_wait, $ dbh);

теперь обновился до PHP 5.3.5 и обнаружил, что линия IBASE_TRANS вызывает ошибку сегментации. На странице php ibase_trans есть примечание:

"Поведение этой функции было изменено в PHP 5.0.0. Первый вызов ibase_trans () не вернет транзакцию по умолчанию соединения."

Поэтому мой вопрос заключается в том, смогу ли я установить аргументы транзакции для транзакции по умолчанию ... вторичный вопрос, есть ли я совершенно упущен точку, пытаясь сделать это в любом случае!

Спасибо

Это было полезно?

Решение

Вы не должны работать с транзакцией по умолчанию.

Определите свою транзакцию как показатели:

$T = ibase_trans($params, $database);
.

После запуска вашего запроса:

 ibase_query($T, $SQL, $Params)
.

или вы можете использовать ibase_prepare & ibase_execute.

После этого позвоните

ibase_commit_ret($T); // this mentain transaction active
.

или

ibase_commit($T) // this commit work close transaction
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top