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);