本文整理匯總了PHP中resource::rollBack方法的典型用法代碼示例。如果您正苦於以下問題:PHP resource::rollBack方法的具體用法?PHP resource::rollBack怎麽用?PHP resource::rollBack使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類resource
的用法示例。
在下文中一共展示了resource::rollBack方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: __construct
/**
* Construct
*
* @param Registry $registry
* @param Request $request
* @param int $language_id Default language id
*/
public function __construct(Registry $registry, Request $request, $language_id)
{
$_translation = array();
$this->_db = $registry->get('db');
try {
$statement = $this->_db->query('SELECT * FROM `language`');
} catch (PDOException $e) {
if ($this->_db->inTransaction()) {
$this->_db->rollBack();
}
trigger_error($e->getMessage());
}
if ($statement->rowCount()) {
foreach ($statement->fetchAll() as $language) {
// Add languages registry
$this->_languages[$language->language_id] = array('language_id' => $language->language_id, 'language_code' => $language->code, 'language_locale' => $language->locale, 'language_name' => $language->name);
// Set default language
if ($language->language_id == $language_id) {
$this->_language_id = $language->language_id;
$this->_language_code = $language->code;
$this->_language_locale = $language->locale;
$this->_language_name = $language->name;
}
// Get active language
if (isset($request->get['language_id'])) {
$_language_id = (int) $request->get['language_id'];
} else {
if (isset($request->cookie['language_id'])) {
$_language_id = (int) $request->cookie['language_id'];
} else {
$_language_id = (int) DEFAULT_LANGUAGE_ID;
}
}
// Set current language
$language_file = DIR_BASE . 'language' . DIR_SEPARATOR . $language->code . '.php';
if ($_language_id == $language->language_id && file_exists($language_file) && is_readable($language_file)) {
$this->_language_id = $language->language_id;
$this->_language_code = $language->code;
$this->_language_locale = $language->locale;
$this->_language_name = $language->name;
// Load language package if exist
require_once $language_file;
$this->_translation = $_translation;
}
}
}
}
示例2: __construct
/**
* Construct
*
* @param registry $registry
* @param int $language_id Current language id
*/
public function __construct(Registry $registry, $language_id)
{
$this->_db = $registry->get('db');
try {
$statement = $this->_db->prepare('SELECT * FROM `language`');
$statement->execute();
} catch (PDOException $e) {
if ($this->_db->inTransaction()) {
$this->_db->rollBack();
}
trigger_error($e->getMessage());
}
if ($statement->rowCount()) {
foreach ($statement->fetchAll() as $language) {
$this->_languages[$language->language_id] = array('language_id' => $language->language_id, 'language_code' => $language->code, 'language_locale' => $language->locale, 'language_name' => $language->name);
if ($language->language_id == $language_id) {
$this->_language_id = $language->language_id;
$this->_language_code = $language->code;
$this->_language_locale = $language->locale;
$this->_language_name = $language->name;
}
}
}
}
示例3: completeTrans
/**
* 完成事務,根據查詢是否出錯決定是提交事務還是回滾事務
*
* 如果 $commitOnNoErrors 參數為 true,當事務中所有查詢都成功完成時,則提交事務,否則回滾事務
* 如果 $commitOnNoErrors 參數為 false,則強製回滾事務
*
* @param $commitOnNoErrors 指示在沒有錯誤時是否提交事務
*/
function completeTrans($commitOnNoErrors = true)
{
if ($this->_transCount < 1) {
return;
}
if ($this->_transCount > 1) {
$this->_transCount -= 1;
return;
}
$this->_transCount = 0;
if ($this->_transCommit && $commitOnNoErrors) {
$this->conn->commit();
} else {
$this->conn->rollBack();
}
}
示例4: createDatabaseTables
protected function createDatabaseTables()
{
$queries = array();
switch ($this->database_driver) {
case self::SI_DRIVER_SQLITE3:
$queries[] = "CREATE TABLE \"{$this->database_table}\" (\n id VARCHAR(40),\n namespace VARCHAR(32) NOT NULL,\n code VARCHAR(32) NOT NULL,\n code_display VARCHAR(32) NOT NULL,\n created INTEGER NOT NULL,\n PRIMARY KEY(id, namespace)\n )";
$queries[] = "CREATE INDEX ndx_created ON {$this->database_table} (created)";
break;
case self::SI_DRIVER_MYSQL:
$queries[] = "CREATE TABLE `{$this->database_table}` (\n `id` VARCHAR(40) NOT NULL,\n `namespace` VARCHAR(32) NOT NULL,\n `code` VARCHAR(32) NOT NULL,\n `code_display` VARCHAR(32) NOT NULL,\n `created` INT NOT NULL,\n PRIMARY KEY(id, namespace),\n INDEX(created)\n )";
break;
case self::SI_DRIVER_PGSQL:
$queries[] = "CREATE TABLE {$this->database_table} (\n id character varying(40) NOT NULL,\n namespace character varying(32) NOT NULL,\n code character varying(32) NOT NULL,\n code_display character varying(32) NOT NULL,\n created integer NOT NULL,\n CONSTRAINT pkey_id_namespace PRIMARY KEY (id, namespace)\n )";
$queries[] = "CREATE INDEX ndx_created ON {$this->database_table} (created);";
break;
}
$this->pdo_conn->beginTransaction();
foreach ($queries as $query) {
$result = $this->pdo_conn->query($query);
if (!$result) {
$err = $this->pdo_conn->errorInfo();
trigger_error("Failed to create table. {$err[1]}: {$err[2]}", E_USER_WARNING);
$this->pdo_conn->rollBack();
$this->pdo_conn = false;
return false;
}
}
$this->pdo_conn->commit();
return true;
}
示例5: rollBack
/**
* Rolls back a transaction
*
* @return bool
*/
public function rollBack()
{
return $this->_conn->rollBack();
}
示例6: _rollBack
/**
* Roll-back a transaction.
*/
protected function _rollBack()
{
$this->_connect();
$this->connection->rollBack();
}