帝国CMS二次开发扩展SQL程序、插件编写介绍

 例1:连接MYSQL程序。(a.php) 

折叠PHP 代码
  1. <?php   
  2. require('e/class/connect.php'); //引入数据库配置文件和公共函数文件   
  3. require('e/class/db_sql.php'); //引入数据库操作文件   
  4. $link=db_connect(); //连接MYSQL   
  5. $empire=new mysqlquery(); //声明数据库操作类   
  6. db_close(); //关闭MYSQL链接   
  7. $empire=null; //注消操作类变量   
  8. ?>   

例2:操作MYSQL数据的程序。(b.php) 

折叠PHP 代码
  1. <?php   
  2. require('e/class/connect.php'); //引入数据库配置文件和公共函数文件   
  3. require('e/class/db_sql.php'); //引入数据库操作文件   
  4. $link=db_connect(); //连接MYSQL   
  5. $empire=new mysqlquery(); //声明数据库操作类   
  6. $empire->query("update {$dbtbpre}ecms_news set onclick=onclick+1"); //给新闻表的点击数加1   
  7. db_close(); //关闭MYSQL链接   
  8. $empire=null; //注消操作类变量   
  9. ?>   

例3:读MYSQL数据的程序。(c.php) 

折叠PHP 代码
  1. <?php   
  2. require('e/class/connect.php'); //引入数据库配置文件和公共函数文件   
  3. require('e/class/db_sql.php'); //引入数据库操作文件   
  4. $link=db_connect(); //连接MYSQL   
  5. $empire=new mysqlquery(); //声明数据库操作类   
  6. $sql=$empire->query("select * from {$dbtbpre}ecms_news order by newstime limit 10"); //查询新闻表最新10条记录   
  7. while($r=$empire->fetch($sql)) //循环获取查询记录   
  8. {   
  9. echo"标题:".$r['title']." 
  10. ";   
  11. }   
  12. db_close(); //关闭MYSQL链接   
  13. $empire=null; //注消操作类变量   
  14. ?>   

/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返回的结果。 

使用范例: 

折叠PHP 代码
  1. $sql=$empire->query("select * from {$dbtbpre}ecms_news");   
  2. while($r=$empire->fetch($sql))   
  3. {   
  4. echo"标题:".$r['title']." 
  5. ";   
  6. }   

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

Tags: 二次开发   扩展   SQL   程序   插件
cms大学,为帝国cms用户提供动力
Copyright © 2016 CmsDX.com All Rights Reserved.