例1:连接mysql数据库例子。(a.php)
代码如下:
1
2
3
4
5
6
<?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; //注消操作类变量
?></p>
例2:更新数据例子。(b.php)
代码如下:
1
2
3
4
5
6
7
<?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; //注消操作类变量
?></p>
推荐学习《帝国cms教程》
立即学习“PHP免费学习笔记(深入)”;
例3:查询MYSQL数据的例子。(c.php)
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?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; //注消操作类变量
?></p>
/e/class/db_sql.php文件中数据库操作类常用的函数说明:
1、执行SQL函数:
代码如下:
1
2
$empire->query("SQL语句");
$empire->query1("SQL语句");
执行成功返回true,执行不成功返回false ;
两者区别是:query()出错直接中断程序执行,query1()出错不中断程序执行。使用范例:
代码如下:
1
$sql=$empire->query("select * from {$dbtbpre}ecms_news");
2、循环读取数据库记录函数:
代码如下:
1
$empire->fetch($sql)
说明:
$sql为query执行SQL返回的结果。
使用范例:
代码如下:
1
2
3
4
5
6
$sql=$empire->query("select * from {$dbtbpre}ecms_news");
while($r=$empire->fetch($sql))
{
echo"标题:".$r[title]."
";
}
3、读取单条数据库记录函数:(不循环)
代码如下:
1
$empire->fetch1("SQL语句")
使用范例:
代码如下:
1
2
$r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");
echo"标题:".$r[title];
4、统计SQL查询记录数函数:
代码如下:
1
2
$empire->num("SQL语句")
$empire->num1($sql)
说明:
两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。
使用范例:
代码如下:
1
2
$num=$empire->num("select id from {$dbtbpre}ecms_news");
echo"新闻表共有 ".$num." 条新闻";
5、统计SQL查询记录数函数2:(相对于num更高效的函数)
代码如下:
1
$empire->gettotal("统计SQL语句");
说明:
gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。
gettotal()里的统计数一定要as total,如:“count(*) as total”。使用范例:
代码如下:
1
2
$num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");
echo"新闻表共有 ".$num." 条新闻";
6、取得刚插入表的自增ID值函数:
代码如下:
1
$empire->lastid()
使用范例:
代码如下:
1
2
3
$empire->query("insert into {$dbtbpre}ecms_news(title) values(标题)");
$lastid=$empire->lastid();
echo"刚插入的信息ID为:".$lastid;
7、移动SQL查询结果记录指针:
代码如下:
1
$empire->seek($sql,$pit)
说明:
$sql为query执行SQL返回的结果,$pit为指针的偏移数。使用范例:
代码如下:
1
2
$sql=$empire->query("select * from {$dbtbpre}ecms_news");
$empire->seek($sql,2);
8、释放SQL查询结果函数:(一般不需要使用)
代码如下:
1
$empire->free($sql)
说明:
$sql为query执行SQL返回的结果。
使用范例:
代码如下:
1
2
$sql=$empire->query("select * from {$dbtbpre}ecms_news");
$empire->free($sql);
导航查询例子:
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<div> <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>=$bqr[classpath]?>" >=$bqr[classname]?></a></span>
<span>@@##@@</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>"><a>=$bqr[classpath]?>" >
=$bqr[classname]?></a></span> <span>@@##@@</span></p> <p>[/e:loop]</p> <p>
<!--新闻导航结束-->
</p>
</div>
以上就是总结帝国CMS下在PHP文件中调用数据库类执行SQL语句实例的详细内容,更多请关注php中文网其它相关文章!