<?php define('EYOUM_EXEC_ROOT', true); require_once 'conf_global.php'; require_once PATH_EYOUM_LIB . 'em_db.class.php'; require_once PATH_EYOUM_LIB . 'db/em_db_expr.class.php'; require_once PATH_EYOUM_LIB . 'em_transaction.class.php'; $db = em_db::factory('sqlite', array('dbname' => '/tmp/test.db')); $db->exec('PRAGMA journal_mode=MEMORY;'); $db->exec('PRAGMA synchronous=0;'); $db->exec('PRAGMA cache_size=8000;'); //$table = <<<SQL //CREATE TABLE IF NOT EXISTS test_table ( // rid INTEGER NOT NULL PRIMARY KEY, // cmd_text INTEGER NOT NULL DEFAULT 0 //); //SQL; $db->exec($table); //$trans = new em_transaction(); //$trans->begin(); //$db->query('begin'); //$db->begin_transaction(); //$db->insert('test_table', array('cmd_text' => 2)); $expr = new em_db_expr('cmd_text+1'); $db->update('test_table', array('cmd_text' => '-' . mt_rand()), $db->quote_into('rid = ?', 1)); //$db->rollback(); //$db->commit(); //$db->query('rollback'); //$db->query('commit'); //$trans->rollback(); print_r($db->last_insert_id());
<?php error_reporting(E_ALL); require_once 'conf_global.php'; require_once PATH_EYOUM_LIB . 'em_db.class.php'; require_once PATH_EYOUM_LIB . 'db/em_db_expr.class.php'; require_once PATH_EYOUM_LIB . 'em_transaction.class.php'; $opt = array('dbname' => 'eyou_ad_sync', 'username' => 'root', 'unix_socket' => '/usr/local/eyou/mail/run/em_mysql.sock'); $tbl = 'group_sync'; $attr['sync_status'] = new em_db_expr('sync_status+1'); //$attr['sync_status'] = 1; $where = 'domain_name=\'0\' AND group_name=\'0\''; try { $db = em_db::factory(null, $opt); $db->begin_transaction(); $ret = $db->update($tbl, $attr, $where); echo "update result: {$ret}\n"; $query = $db->select()->from($tbl); $data = $db->fetch_all($query); echo "return data: "; print_r(count($data)); sleep(10); $db->commit(); } catch (Exception $e) { echo $e; }