# 帝国CMS操作数据库函数介绍

*Published:* 2023-11-29
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年11月29日，已超过 180天没有更新



1、执行SQL[函数](https://www.xarjtc.com/tag/%e5%87%bd%e6%95%b0 "查看函数此标签更多文章")：

```
$empire->query("SQL语句");
$empire->query1("SQL语句");
```

说明：

执行成功返回true，执行不成功返回false ;

两者区别是：query()出错直接中断程序执行，query1()出错不中断程序执行。

使用范例：

```
$sql=$empire->query("select * from {$dbtbpre}ecms_news");
```

2、循环读取[数据库](https://www.xarjtc.com/tag/%e6%95%b0%e6%8d%ae%e5%ba%93 "查看数据库此标签更多文章")记录函数：

```
$empire->fetch($sql)
```

说明：

$sql为query执行SQL返回的结果。

使用范例：

```
$sql=$empire->query("select * from {$dbtbpre}ecms_news");
while($r=$empire->fetch($sql))
{
echo"标题：".$r['title']."<br>";
}
```

3、读取单条数据库记录函数：(不循环)

```
$empire->fetch1("SQL语句")
```

使用范例：

```
$r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");
echo"标题：".$r['title'];
```

4、统计sql查询记录数函数：

```
$empire->num("SQL语句")
$empire->num1($sql)
```

说明：

两者的区别是：num()直接写sql语句，而num1()中的$sql为query执行SQL返回的结果。

使用范例：

```
$num=$empire->num("select id from {$dbtbpre}ecms_news");
```

echo"新闻表共有 ".$num." 条新闻";

5、统计SQL查询记录数函数2：(相对于num更高效的函数)

```
$empire->gettotal("统计SQL语句");
```

说明：

gettotal()和num()的区别是：gettotal()采用SQL本身的count(\*)函数来统计，而num()是采用PHP本身的函数，gettotal()更高效一些。

gettotal()里的统计数一定要as total，如：“count(\*) as total”。

使用范例：

```
$num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");
echo"新闻表共有 ".$num." 条新闻";
```

6、取得刚插入表的自增ID值函数：

```
$empire->lastid()
```

使用范例：

```
$empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");
$lastid=$empire->lastid();
echo"刚插入的信息ID为：".$lastid;
```

7、移动SQL查询结果记录指针：

```
$empire->seek($sql,$pit)
```

说明：

$sql为query执行SQL返回的结果，$pit为指针的偏移数。

使用范例：

```
$sql=$empire->query("select * from {$dbtbpre}ecms_news");
$empire->seek($sql,2);
```

8、释放SQL查询结果函数：(一般不需要使用)

```
$empire->free($sql)
```

说明：

$sql为query执行SQL返回的结果。

使用范例：

```
$sql=$empire->query("select * from {$dbtbpre}ecms_news");
$empire->free($sql);
```