Пример #1
0
<?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());
Пример #2
0
<?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;
}