InitPHP (A PHP Framework) 用户手册
第6章 6.5.3 Sql Build API
目录
1. $this->dao->db->build_escape($val, $iskey = 0) SQL组装-单个或数组参数过滤

接口描述:

SQL组装-单个或数组参数过滤。在Dao中使用

参数:

参数 类型 是否必须 描述
$val String|Array SQL组装数据
$iskey Int 0-过滤value值,1-过滤字段

使用:

class testaDao extends Dao {
	
	public $db = 'test';
	public function test() {
		echo $this->dao->db->build_escape($val, $iskey = 0);
	}
}
2. $this->dao->db->build_implode($val, $iskey = 0) SQL组装-将数组值通过,隔开

接口描述:

SQL组装-将数组值通过,隔开 。在Dao中使用

参数:

参数 类型 是否必须 描述
$val Array SQL组装数据,返回:'1','2','3'
$iskey Int 0-过滤value值,1-过滤字段

使用:

class testaDao extends Dao {
	
	public $db = 'test';
	public function test() {
		echo $this->dao->db->build_implode(array('test' => 'test1'), $iskey = 0);
	}
}
3. $this->dao->db->build_in($val) SQL组装-组装IN语句

接口描述:

SQL组装-组装IN语句 。在Dao中使用

参数:

参数 类型 是否必须 描述
$val String|Array SQL组装数据, 例如:ID:array(1,2,3)。返回:('1','2','3')

使用:

class testaDao extends Dao {
	
	public $db = 'test';
	public function test() {
		echo $this->dao->db->build_in(array(2,3,4));
	}
}
4. $this->dao->db->build_insert($val) SQL组装-组装INSERT语句

接口描述:

SQL组装-组装IN语句 。在Dao中使用

参数:

参数 类型 是否必须 描述
$value String 参数规则:array('key' => 'value'),返回:(id,username) VALUES ('ss', 'sadsa')

使用:

class testaDao extends Dao {
	
	public $db = 'test';
	public function test() {
		echo $this->dao->db->build_insert( array('key' => 'value'));
	}
}
5. $this->dao->db->build_insertmore($field, $data) SQL组装-组装多条语句插入

接口描述:

SQL组装-组装多条语句插入。在Dao中使用

参数:

参数 类型 是否必须 描述
$field Array 字段
$value Array 值:array(array('test1'),array('test2')),返回:('key') VALUES ('value'),('value2')

使用:

class testaDao extends Dao {
	
	public $db = 'test';
	public function test() {
		echo $this->dao->db->build_insertmore(array('username'), array(array('zhuli'), array('woshishen')));
	}
}
6. $this->dao->db->build_kv($k, $v) SQL组装-组装KEY=VALUE形式

接口描述:

SQL组装-组装多条语句插入。在Dao中使用

参数:

参数 类型 是否必须 描述
$k String KEY值
$v String VALUE值 返回:a = 'a'

使用:

class testaDao extends Dao {
	
	public $db = 'test';
	public function test() {
		echo $this->dao->db->build_kv('asd', 'asdas');
	}
}
7. $this->dao->db->build_limit($start, $num = NULL) SQL组装-组装LIMIT语句

接口描述:

SQL组装-组装LIMIT语句。在Dao中使用

参数:

参数 类型 是否必须 描述
$start Int 开始
$num Int 条数 返回:LIMIT 0,10

使用:

class testaDao extends Dao {
	
	public $db = 'test';
	public function test() {
		echo $this->dao->db->build_limit(100,200);
	}
}
8. $this->dao->db->build_update($val) SQL组装-组装UPDATE语句

接口描述:

SQL组装-组装UPDATE语句 。在Dao中使用

参数:

参数 类型 是否必须 描述
$val Array 数组参数,返回:SET name = 'aaaaa'

使用:

class testaDao extends Dao {
	
	public $db = 'test';
	public function test() {
		echo $this->dao->db->build_update(array('username' => 'asdas'));
	}
}
9. $this->dao->db->build_where($val) SQL组装-组装AND符号的WHERE语句

接口描述:

SQL组装-组装AND符号的WHERE语句 。在Dao中使用

参数:

参数 类型 是否必须 描述
$val Array 数组参数,返回:WHERE a = 'a' AND b = 'b'

使用:

class testaDao extends Dao {
	
	public $db = 'test';
	public function test() {
		// WHERE `sad` = 100
		echo $this->dao->db->build_where(array('sad'=>100));
		// WHERE `age` IN ('15', '18', '19')
		echo $this->dao->db->build_where(array('age'=>array(15,18,19)));
		// WHERE `age`>15 AND `age`<20
		echo $this->dao->db->build_where(array('age'=>array('>'=>15, '<'=>20)));
		// WHERE `age` like '%sad%'
		echo $this->dao->db->build_where(array('name'=>array('like'=>'%sad%')));
	}
}
10. $this->dao->db->build_key($val) 检查DAO中进来的数组参数是否key键存在

接口描述:

检查DAO中进来的数组参数是否key键存在

参数:

参数 类型 是否必须 描述
$data Array 数组结构,例如:array("username" => 'asdasd')
$fields String 例如:"username,password"

使用:

class userDao extends Dao {
	
	public $table_name = 'user';
	private $fields = "username,password";
	
	/**
	 * 新增用户
	 * @param $user
	 */
	public function addUser($user) {
		$user = $this->dao->db->build_key($user, $this->fields);
		return $this->dao->db->insert($user, $this->table_name);
	}
}