XIUNO数据库函数
- DB 配置
- db_insert()
- db_create()
- db_replace()
- db_update()
- db_delete()
- db_find_one()
- db_find()
- db_count()
- db_maxid()
- db_connect()
- db_truncate()
- db_sql_find()
- db_sql_find_one()
- db_exec()
- db_new()
- db_close()
DB 配置
在使用 DB 相关函数的时候,需要配置数据库相关信息。一般存放在文件中。
<?php //新建配置文件 conf.php: return array ( 'db' => array ( 'type' => 'pdo_mysql', 'pdo_mysql' => array ( 'master' => array ( 'host' => 'localhost', 'user' => 'root', 'password' => 'root', 'name' => 'test', 'tablepre' => 'bbs_', 'charset' => 'utf8', 'engine' => 'myisam', ), 'slaves' => array (), ), ), ); ?>
db_insert()
db_insert($table, $arr, $d = NULL)
#### 【功能】
插入一条记录,成功返回插入的 ID,失败返回 FALSE。
#### 【参数】
```
$table:表名
$arr:数组
$d:$db 实例,一般可以省略,使用配置文件指定的参数实例化的实例
```
【用例】
'Jack', 'email'=>'jack@email.com', 'gid'=>123, ); $uid = db_insert('user', $arr); if($uid === FALSE) { echo $errstr; } else { echo "创建成功,uid : $uid"; }
db_create()
db_create($table, $arr, $d = NULL)
#### 【功能】
创建一条记录,成功返回插入的 ID,失败返回 FALSE。
功能与 db\_insert() 等价。
#### 【参数】
```
$table:表名
$arr:数组
$d:$db 实例
```
```
#### 【用例】
'Jack', 'email'=>'jack@email.com', 'gid'=>123, ); $uid = db_create('user', $arr); if($uid === FALSE) { echo $errstr; } else { echo "创建成功,uid : $uid"; }
db_replace()
db_replace($table, $arr, $d = NULL)
#### 【功能】
替换的方式插入一条记录,成功返回插入的 ID,失败返回 FALSE。
#### 【参数】
```
$table:表名
$arr:数组
$d:$db 实例
```
#### 【用例】
'Jack', 'email'=>'jack@email.com', 'gid'=>123, ); $uid = db_replace('user', $arr); if($uid === FALSE) { echo $errstr; } else { echo "替换创建成功,uid : $uid"; }
db_update()
db_update($table, $cond, $update, $d = NULL)
#### 【功能】
更新记录,成功返回受影响的行数,失败返回 FALSE。
#### 【参数】
```
$table:表名
$cond:条件
$update: 更新的数据
$d:$db 实例
```
#### 【$cond】
条件数组的格式:
// 单个条件: array('gid'=>1) // 多条: array('gid'=>1, 'uid'=>3) // 大于 array('create_date'=>array('>'=>100)) // 小于 array('create_date'=>array('<'=>1000)) // LIKE array('subject'=>array('LIKE'=>'关键字')) // 组合: array('gid'=>1, 'create_date'=>array('>'=>100, '<'=>1000))
#### 【用例】
`````` 123), array('username'=>'Mike')); if($r === FALSE) { echo $errstr; } else { echo "更新成功"; }
db_delete()
db_delete($table, $cond, $d = NULL)
#### 【功能】
删除记录,成功返回受影响的行数,失败返回 FALSE。
#### 【参数】
```
$table:表名
$cond:条件
$d:$db 实例
```
#### 【用例】
123)); if($r === FALSE) { echo $errstr; } else { echo "删除成功"; }
db_find_one()
【函数原型】
db_find_one($table, $cond = array(), $orderby = array(), $col = array(), $d = NULL)
【功能】
查询数据库,成功返回一维数组(一条记录),失败返回 FALSE,并且自动记录到错误日志。
$table:表名
$cond:条件
$orderby: 排序方式
$col:查询哪些列
$d:$db 实例
【用例】
123)); print_r($arr);
db_find()
【函数原型】
db_find($table, $cond = array(), $orderby = array(), $page = 1, $pagesize = 10, $key = '', $col = array(), $d = NULL)
【功能】
查询数据库,成功返回二维数组(多条记录),失败返回 FALSE,并且自动记录到错误日志。
$table:表名
$cond:条件
$orderby:排序方式
$page: 页数
$pagesize:每页记录条数
$key:返回的数组用那一列的值作为 key
$col:查询哪些列
$d:$db 实例
#### 【$orderby】
条件数组的格式:
// 某个字段正序 - ORDER BY create_date ASC: array('create_date'=>1) // 某个字段倒序 - ORDER BY create_date DESC: array('create_date'=>-1) // 组合: ORDER BY gid ASC, create_date DESC: array('gid'=>1, 'create_date'=>-1)
【用例】
1)); print_r($arrlist); // 查找 g=1 && uid > 1 && uid < 100 的用户记录,返回所有符合的记录,并且按照 uid 正序排序(1: 正序; -1: 倒序) $arrlist = db_find('user', array('gid'=>1, 'uid'=>array('>'=>1, '<'=>100)), array('uid'=>1)); print_r($arrlist);
db_count()
db_count($table, $cond = array(), $d = NULL)
#### 【功能】
统计满足条件的行数,成功返回总行数,失败返回 FALSE。
#### 【参数】
$table:表名
$cond:条件
$d:$db 实例
db_maxid()
db_maxid($table, $field, $cond = array(), $d = NULL)
#### 【功能】
查找表中某列最大值,成功返回最大值,失败返回 FALSE。
#### 【参数】
$table:表名
$field:列名
$cond:条件
$d:$db 实例
db_connect()
db_connect($d = NULL)
#### 【功能】
测试数据库服务器能否联通,成功返回 TRUE,失败返回 FALSE。
#### 【参数】
$d:$db 实例
#### 【用例】
db_truncate()
db_truncate($table, $d = NULL)
#### 【功能】
清空表数据,成功返回 TRUE,失败返回 FALSE。
#### 【参数】
$table:表名
$d:$db 实例
db_sql_find()
db_sql_find($sql, $key = NULL, $d = NULL)
#### 【功能】
通过 SQL 的方式查询满足条件的记录,成功返回一个关联数组(包含多条记录),失败返回 FALSE。
#### 【参数】
$sql:SQL 语句,这个和 DB 驱动挂钩,目前仅支持 MYSQL
$key: 使用指定列的值作为返回数组的 key
$d:$db 实例
db_sql_find_one()
db_sql_find_one($sql, $d = NULL)
#### 【功能】
通过 SQL 的方式查询一行记录,成功返回一个关联数组(包含一条记录),失败返回 FALSE。
#### 【参数】
$sql:SQL 语句,这个和 DB 驱动挂钩,目前仅支持 MYSQL
$d:$db 实例
db_exec()
db_exec($sql, $d = NULL)
#### 【功能】
执行一条 SQL,成功返回受影响的行数,失败返回 FALSE。
#### 【参数】
$sql:SQL 语句,这个和 DB 驱动挂钩,目前仅支持 MYSQL
$d:$db 实例
db_new()
db_new($dbconf)
#### 【功能】
查找表中某列最大值,成功返回最大值,失败返回 FALSE。
一般不需要调用此函数,除非需要多个 DB 连接。
#### 【参数】
$dbconf:DB 配置数据
#### 【用例】
'pdo_mysql', 'pdo_mysql' => array ( 'master' => array ( 'host' => 'localhost', 'user' => 'root', 'password' => 'root', 'name' => 'test', 'tablepre' => 'bbs_', 'charset' => 'utf8', 'engine' => 'innodb', ), 'slaves' => array (), ), ); include './xiunophp/xiunophp.php'; $newdb = db_new($dbconf); echo $newdb->version();
db_close()
db_close($db = NULL)
#### 【功能】
关闭 DB 连接。
#### 【参数】
$db:DB 实例
#### 【用例】
'pdo_mysql', 'pdo_mysql' => array ( 'master' => array ( 'host' => 'localhost', 'user' => 'root', 'password' => 'root', 'name' => 'test', 'tablepre' => 'bbs_', 'charset' => 'utf8', 'engine' => 'innodb', ), 'slaves' => array (), ), ); include './xiunophp/xiunophp.php'; $newdb = db_new($dbconf); db_close($newdb);