您当前的位置:首页 > 帝国CMS教程

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

来源:帝国CMS教程发布者:帝国CMS模板网时间:2014-08-15

这篇文章主要介绍了帝国CMS下在PHP文件中调用数据库类执行SQL语句实例,本文还详细介绍了帝国CMS数据库类中的一些常用方法,需要的朋友可以参考下


例1:连接MYSQL数据库例子。(a.php)



复制代码代码如下:


<?php

require('e/class/connect.php'); //引入数据库配置文件和公共函数文件

require('e/class/db_sql.php'); //引入数据库操作文件

$link=db_connect(); //连接MYSQL

$empire=new mysqlquery(); //声明数据库操作类</p> <p>db_close(); //关闭MYSQL链接

$empire=null; //注消操作类变量

?>


例2:更新数据例子。(b.php)



复制代码代码如下:


<?php

require('e/class/connect.php'); //引入数据库配置文件和公共函数文件

require('e/class/db_sql.php'); //引入数据库操作文件

$link=db_connect(); //连接MYSQL

$empire=new mysqlquery(); //声明数据库操作类</p> <p>$empire->query("update {$dbtbpre}ecms_news set onclick=onclick+1"); //给新闻表的点击数加1</p> <p>db_close(); //关闭MYSQL链接

$empire=null; //注消操作类变量

?>

例3:查询MYSQL数据的例子。(c.php)



复制代码代码如下:

<?php

require('e/class/connect.php'); //引入数据库配置文件和公共函数文件

require('e/class/db_sql.php'); //引入数据库操作文件

$link=db_connect(); //连接MYSQL

$empire=new mysqlquery(); //声明数据库操作类</p> <p>$sql=$empire->query("select * from {$dbtbpre}ecms_news order by newstime limit 10"); //查询新闻表最新10条记录

while($r=$empire->fetch($sql)) //循环获取查询记录

{

echo"标题:".$r['title']."

";

}</p> <p>db_close(); //关闭MYSQL链接

$empire=null; //注消操作类变量

?>

/e/class/db_sql.php文件中数据库操作类常用的函数说明:


1、执行SQL函数:



复制代码代码如下:

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

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

说明:

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

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


使用范例:



复制代码代码如下:

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

2、循环读取数据库记录函数:




复制代码代码如下:

$empire->fetch($sql)

说明:


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


使用范例:



复制代码代码如下:


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

while($r=$empire->fetch($sql))

{

echo"标题:".$r['title']."

";

}


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


导航查询例子:



复制代码代码如下:


<DIV class=news_dh style="color:#000000"></p> <p><!--主栏目导航,此模板中直接指定为classid=69,即法律法规栏目-->

[e:loop={"select classid,classname,classpath from [!db.pre!]enewsclass where classid='69' and showclass=0 order by myorder ",0,24,0}]

<span><a href="<?=$public_r[newsurl]?><?=$bqr[classpath]?>" ><?=$bqr[classname]?></a></span>&nbsp;&nbsp;&nbsp;<SPAN><IMG

src="[!--news.url--]skin/tx/zixun/images/index_line_nav.gif"></SPAN>

[/e:loop]</p> <p> </p> <p><!--子栏目导航-->

[e:loop={"select classid,classname,classpath from [!db.pre!]enewsclass where bclassid='69' and showclass=0 order by myorder ",0,24,0}]

<?

$lanmuclass= "lanmu";

//echo $bqr[classid] ;

//echo "cur:".$GLOBALS[navclassid];

if ( $bqr[classid]==$GLOBALS[navclassid]) {

//echo "-";

$lanmuclass ="curlanmu";

}

?></p> <p><span class="<?=$lanmuclass?>"><a href="<?=$public_r[newsurl]?><?=$bqr[classpath]?>" ><?=$bqr[classname]?></a></span>&nbsp;&nbsp;&nbsp;<SPAN><IMG

src="[!--news.url--]skin/tx/zixun/images/index_line_nav.gif"></SPAN></p> <p>[/e:loop]</p> <p>

<!--新闻导航结束-->

</DIV>