XIUNO数据库函数

凨影 5479

XIUNO数据库函数
  1. DB 配置
  2. db_insert()
  3. db_create()
  4. db_replace()
  5. db_update()
  6. db_delete()
  7. db_find_one()
  8. db_find()
  9. db_count()
  10. db_maxid()
  11. db_connect()
  12. db_truncate()
  13. db_sql_find()
  14. db_sql_find_one()
  15. db_exec()
  16. db_new()
  17. 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);
联系QQ:77798085 赞助请点这里

上一篇:XIUNO全局变量

下一篇:XIUNO缓存函数

管理员回复
    全部回复 (10)
    • 978643142qqcom 2020-7-7
      2
      沙发我没有,板凳我没有,板也没有,只好站在后面排队支持!
      亚太地区
      这个人很有个性,连签名都没有!
    • JiaFeiX 2020-7-7
      3
      楼主很辛苦,若是不回帖,心里过意不去,可是我打字实在不行,只好快速回复了,楼主不要见怪!
      亚太地区
      这个人很有个性,连签名都没有!
    • Chilsion 2020-7-7
      4
      宁可少抽一支,不可少顶一次贴。
      亚太地区
      这个人很有个性,连签名都没有!
    • Edge 2020-7-7
      5
      楼主的帖子实在是写得太好了。文笔流畅,修辞得体,深得魏晋诸朝遗风,更将唐风宋骨发扬得入木三分,能在有生之年看见楼主的这个帖子,实在是我三生之幸啊。
      亚太地区
      这个人很有个性,连签名都没有!
    • idexon 2020-7-7
      6
      面对如此强贴,论遇到多大阻力,只要我一息上尚存,就绝不会让它沉沦下去,这一点请楼主放心。
      亚太地区
      这个人很有个性,连签名都没有!
    • 8289230qqcom 2020-7-7
      7
      我要拿出这帖子奉献给世人赏阅,我要把这个帖子一直往上顶,往上顶!顶到所有人都看到为止!
      亚太地区
      这个人很有个性,连签名都没有!
    • shopzqqcom 2020-7-7
      8
      心情不好,来杯板蓝根!
      亚太地区
      这个人很有个性,连签名都没有!
    • 伟大的遥遥 2020-7-8
      9
      楼主,我只是来混个熟的!老板,侬亿雷凑闹嫩了。
      亚太地区
      这个人很有个性,连签名都没有!
    • 10
      赠人玫瑰, 手留余香!
      亚太地区
      这个人很有个性,连签名都没有!
    • 中华好儿郎 2020-7-8
      11
      谢谢楼主,楼主辛苦!
      亚太地区
      这个人很有个性,连签名都没有!