//构建 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")); }
/** * 整形字段自增 * * @param array $key_arr, key数组 * @param string $fld, 字段名,必须为整形字段 * @param int $val, 自增值 * @return boolean */ public function increment($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 = 20071; $this->errMsg = "dtc config:{$this->dtcKey} increment key not set"; return false; } $fields = $this->config['FIELDS']; if (!array_key_exists($fld, $fields)) { $this->errCode = 20072; $this->errMsg = "dtc config:{$this->dtcKey} increment no field name {$fld}"; return false; } $val = intval($val); if ($val < 1) { $this->errCode = 20073; $this->errMsg = "dtc config:{$this->dtcKey} invalid increment 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 = 200110; $this->errMsg = 'request failed'; return false; } if ($errCode != 0) { $this->errCode = $errCode; $this->errMsg = "dtc config:{$this->dtcKey} increment:{$key}: set_key error"; return false; } /*当前版本的dtc暂不支持多key的需求 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 = 20075; $this->errMsg = "dtc config:{$this->dtcKey} increment:{$key}: set multikey error"; return false; } } }*/ $add = $req->add($fld, $val); if ($add != 0) { $this->errCode = 20076; $this->errMsg = "dtc config:{$this->dtcKey} increment:{$key}: add 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 = 20077; $this->errMsg = "dtc config:{$this->dtcKey} increment:{$key} error,error code:{$errCode}"; return false; } return true; }
<?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"); }
<?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"));