Ejemplo n.º 1
0
//构建 update 请求,即 对应下面填的参数 7 ,插入数据
$ttc_update = new tphp_ttc_request($ttc_srv, 7);
$ret = $ttc_update->set_key($key);
printf("update set key.ret:%d\n", $ret);
//set函数是用来指定insert sql 语句中的set 字段名=value 的这样一个操作
$ttc_update->set_str("name", "9qwer");
$ttc_update->set_str("city", "fuzhou");
$ttc_update->set_str("descr", "huanying");
$ttc_update->set("age", 21);
$ttc_result = new tphp_ttc_result();
$ret = $ttc_update->execute($ttc_result);
printf("update execute end.ret:%d\n", $ret);
if ($ret == 0) {
    //清空result对象
    $ttc_result->reset();
    //创建get 请求request对象, 4表示get操作
    $ttc_get = new tphp_ttc_request($ttc_srv, 4);
    $ttc_get->set_key($key);
    //指定需要查询的字段
    $ttc_get->need("name");
    $ttc_get->need("city");
    $ttc_get->need("age");
    $ret = $ttc_get->execute($ttc_result);
    printf("get execute end.ret:%d\n", $ret);
    $ret = $ttc_result->fetch_row();
    printf("get fetch_row ret:%d\n", $ret);
    printf("uid:%d\n", $ttc_result->int_value("uid"));
    printf("name:%s\n", $ttc_result->string_value("name"));
    printf("city:%s\n", $ttc_result->string_value("city"));
    printf("age:%d\n", $ttc_result->int_value("age"));
}
Ejemplo n.º 2
0
<?php

//创建 dtc_api server对象
$ttc_srv =& new tphp_ttc_server();
//只要server不析构,后台会保持长连接
//设置主键为int类型的
$ttc_srv->int_key();
//设置表名
$ttc_srv->set_tablename("t_dtc_example");
//设置ip/port
$ttc_srv->set_address("192.168.214.62", "10009");
//设置访问码
$ttc_srv->set_accesskey("0000010284d9cfc2f395ce883a41d7ffc1bbcf4e");
//设置单次网络IO超时
$ttc_srv->set_timeout(5);
$key = 100009;
//构建 delete 请求,即 对应下面填的参数 8 ,插入数据
$ttc_delete = new tphp_ttc_request($ttc_srv, 8);
$ret = $ttc_delete->set_key($key);
printf("delete set key.ret:%d\n", $ret);
$ttc_result = new tphp_ttc_result();
$ret = $ttc_delete->execute($ttc_result);
printf("delete execute end.ret:%d\n", $ret);
if ($ret == 0) {
    printf("delect success!\n");
}
Ejemplo n.º 3
0
<?php

$ttc_srv =& new tphp_ttc_server();
//只要server不析构,后台会保持长连接
$ttc_srv->int_key();
$ttc_srv->set_tablename("t_dtc_example");
$ttc_srv->set_address("127.0.0.1", "10101");
$ttc_srv->set_accesskey("0000010184d9cfc2f395ce883a41d7ffc1bbcf4e");
$ttc_srv->set_timeout(5);
$ttc_request = new tphp_ttc_request($ttc_srv, 4);
$ttc_request->set_key(100001);
$ttc_request->need("data");
$ttc_request->need("len");
$ttc_result = new tphp_ttc_result();
$ttc_request->execute($ttc_result);
printf("num:%d\n", $ttc_result->affected_rows());
printf("fetch_row retcode:%d\n", $ttc_result->fetch_row());
printf("set success, result code: %d\n", $ttc_result->result_code());
printf("data:%s\n", $ttc_result->binary_value("data"));
printf("len:%d\n", $ttc_result->int_value("len"));
Ejemplo n.º 4
0
 /**
  * 整形字段自减
  *
  * @param   array   $key_arr, key数组
  * @param   string  $fld, 字段名,必须为整形字段
  * @param   int     $val, 自减值
  * @return  boolean
  */
 public function decrement($key_arr, $fld, $val = 1)
 {
     $this->clearERR();
     if ($this->server == false && $this->init() == false) {
         return false;
     }
     $key = $this->config['KEY'];
     if (!isset($key_arr[$key])) {
         $this->errCode = 20081;
         $this->errMsg = "dtc config:{$this->dtcKey} decrement key not set";
         return false;
     }
     $fields = $this->config['FIELDS'];
     if (!array_key_exists($fld, $fields)) {
         $this->errCode = 20082;
         $this->errMsg = "dtc config:{$this->dtcKey} decrement no field name {$fld}";
         return false;
     }
     $val = intval($val);
     if ($val < 1) {
         $this->errCode = 20083;
         $this->errMsg = "dtc config:{$this->dtcKey} invalid decrement value";
         return false;
     }
     $req = new tphp_ttc_request($this->server, TPHP_DTC_OP_UPDATE);
     if ($this->key_type == 1) {
         $errCode = $req->set_key($key_arr[$key]);
     } elseif ($this->key_type == 2) {
         $errCode = $req->set_key_str($key_arr[$key]);
     } else {
         $this->errCode = 200111;
         $this->errMsg = 'request failed';
         return false;
     }
     if ($errCode != 0) {
         $this->errCode = $errCode;
         $this->errMsg = "dtc config:{$this->dtcKey} decrement:{$key}: set_key error";
         return false;
     }
     if (count($key_arr) > 1) {
         // 处理多字段key情况
         foreach ($key_arr as $mk => $mv) {
             if ($mk == $key) {
                 continue;
             }
             $chk = $this->checkMultikey($mk, $mv);
             if (!$chk) {
                 return $chk;
             }
             $eq = $this->eqv($req, $mk, $mv);
             if ($eq != 0) {
                 $this->errCode = 20085;
                 $this->errMsg = "dtc config:{$this->dtcKey} decrement:{$key}: set multikey error";
                 return false;
             }
         }
     }
     $add = $req->sub($fld, $val);
     if ($add != 0) {
         $this->errCode = 20086;
         $this->errMsg = "dtc config:{$this->dtcKey} decrement:{$key}: sub error";
         return false;
     }
     $result = new tphp_ttc_result();
     $req->execute($result);
     $this->result = $result;
     $errCode = $result->result_code();
     if ($errCode != 0) {
         $this->dtcCode = $errCode;
         $this->errCode = $errCode;
         $this->errMsg = "dtc config:{$this->dtcKey} decrement:{$key} error,error code:{$errCode}";
         return false;
     }
     return true;
 }
Ejemplo n.º 5
0
<?php

$ttc_srv =& new tphp_ttc_server();
//只要server不析构,后台会保持长连接
$ttc_srv->int_key();
$ttc_srv->set_tablename("t_dtc_example");
$ttc_srv->set_address("192.168.214.62", "10009");
$ttc_srv->set_accesskey("0000010284d9cfc2f395ce883a41d7ffc1bbcf4e");
$ttc_srv->set_timeout(5);
$ttc_request = new tphp_ttc_request($ttc_srv, 4);
$ttc_request->set_key(100008);
$ttc_request->need("name");
$ttc_request->need("age");
$ttc_result = new tphp_ttc_result();
$ttc_request->execute($ttc_result);
printf("num:%d\n", $ttc_result->affected_rows());
printf("fetch_row retcode:%d\n", $ttc_result->fetch_row());
printf("set success, result code: %d\n", $ttc_result->result_code());
printf("name:%s\n", $ttc_result->string_value("name"));
printf("age:%d\n", $ttc_result->int_value("age"));