示例#1
0
 /**
  * Select 普通测试
  */
 private function testAdapterSelect()
 {
     $select = \HuiLib\Db\Query::select()->table('test.test')->where(Where::createPair('id', 2))->limit(10)->offset(0)->enableForUpdate();
     $re = $select->query();
     \HuiLib\Helper\Debug::out($re->fetchAll());
     echo $select->toString();
 }
示例#2
0
 private function testWhereBenchMark()
 {
     Debug::mark('startSelect');
     $select = Query::select('test');
     Debug::mark('endSelect');
     Debug::mark('startWhere');
     $where1 = Where::createPair('test', 'zzzzzzzzzzzzzzzzzzzzzzz')->orCase(Where::createPlain('test is null'));
     $where = Where::createQuote('num in (?)', array(3, 5, 16))->andCase($where1, Where::HAND_LEFT);
     Debug::mark('endWhere');
     //初始化adapter后才能escape
     $select->where($where);
     //echo $select->toString();
     Debug::mark('startQuery');
     $re = $select->query();
     Debug::mark('endQuery');
     \HuiLib\Helper\Debug::out($re->fetchAll());
     Debug::elapsed('startSelect', 'endSelect');
     Debug::elapsed('startWhere', 'endWhere');
     Debug::elapsed('startQuery', 'endQuery');
     Debug::elapsed('startSelect', 'endQuery');
     Debug::elapsed('startSelect', 'endALL');
 }
示例#3
0
 /**
  * 通过单个Field获取单条记录的某个字段值
  *
  * @param string $field
  * @param string $value
  * @param string $column 要获取的字段,是字段名,不是column序号
  */
 public function getColumnByField($field, $value, $column)
 {
     $select = Query::select(static::TABLE);
     if ($this->dbAdapter !== NULL) {
         $select->setAdapter($this->dbAdapter);
     }
     $unit = $select->where(Where::createPair($field, $value))->limit(1)->query()->fetch();
     if (isset($unit[$column])) {
         return $unit[$column];
     } else {
         return false;
     }
 }
示例#4
0
//HuiLib Db库操作指南
//HuiLib Db库由连接器Adapter和查询器Query组成。Query封装了Delete, Insert, Select, Update, Where等相关概念。
//创建原始数据连接通过DbBase类。可以通过封装过的Query类实现快速查询。
//支持事务封装,提倡使用INNODB等支持事务的储存引擎。
//一、创建原始数据库连接
//1.1 以下创建数据库主库连接,返回Adapter对象:
$db = \HuiLib\Db\DbBase::createMaster();
//1.2 获取数据库连接Pdo对象或实际连接对象:
$connect = $db->getConnection();
//1.3 直接发起请求:
$connect->query("select count(*) from test.test");
//二、Query组件查询
//2.1 Select部分
//2.1.1 创建select对象
$select = \HuiLib\Db\Query::select();
//2.1.2 设置查询表格等操作
$select->table('test');
//2.1.3 Where条件设置支持三种形式:
//键值式(createPair)
$select->where(Where::createPair('id', 2));
//=> id='2'
//文本式(createPlain)
$select->where(Where::createPlain("name is null"));
//=>"name is null"
//占位式(createQuote)
$select->where(Where::createQuote('id=?', 2));
//=>"id='2'"
//同时支持绑定式
$select->where(Where::createPlain('t.id=:id'));
$re = $select->prepare()->execute(array('id' => 14));