Heim  >  Artikel  >  php教程  >  如何使用帝国CMS自带的数据库类

如何使用帝国CMS自带的数据库类

WBOY
WBOYOriginal
2016-06-13 09:38:13954Durchsuche

帝国CMS封装了一个SQL,文件位置是e/class/db_sql.php;使用程序本身的类库可以给我们的开发带来便利和效率,同时可以减少增设文件数量等。

首先,做下准备工作:

  1. 在e目录下建立测试目录,例如我建立的是e/trylife/td-test/
  2. 在1中目录下建立个PHP文件,例如我建立的是e/trylife/td/test-db_sql.php
  3. 文件中写入代码如下:
<?php  
/*引用文件*/  
include("../../class/connect.php");  
include("../../class/db_sql.php");  
  
/*建立数据库链接 与 实例化类*/  
$link=db_connect();  
$empire=new mysqlquery();  
  
	/*中间的这个位置用于我们测试代码*/  
  
/*关闭数据库连接 与 释放类*/  
db_close();  
$empire=null;  
?>  

第一个测试的对象:query

  1. query()执行的是mysql_query()
  2. 返回值同样遵循PHP手册中对mysql_query()的解释,不过执行失败的情况下是和mysq_query不一样地
  3. 测试代码如下(去除了篇幅比较大的注释):
<?php  
include("../../class/connect.php");  
include("../../class/db_sql.php");  
$link=db_connect();  
$empire=new mysqlquery();  
  
function hr(){  
     echo ' 
<hr /-->';  
}  
  
$sql=$empire->query("select id,title from {$dbtbpre}ecms_news");  
var_dump($sql);  
hr();  
  
//如语句执行成功则返回true  
$sql=$empire->query("UPDATE {$dbtbpre}ecms_news set title='标题' where id=1");  
var_dump($sql);  
hr();  
  
//如语句执行失败则终止执行并返回错误语句 下面的语句用了不存在的字段  
$sql=$empire->query("UPDATE {$dbtbpre}ecms_news set titlesss='标题' where id=1");  
var_dump($sql);  
hr();  
  
db_close();  
$empire=null;  
?>

关于query这个对象的源文如下:在e/class/db_sql.php第九行;die()查看PHP手册解释为"die() 函数输出一条消息,并退出当前脚本";所以第三条测试语句下的var_dump() 及其 hr(),都没有执行就退出了;

function query($query)  
{  
    $this->sql=mysql_query($query) or die(mysql_error().''.str_replace($GLOBALS['dbtbpre'],'***_',$query));  
    return $this->sql;  
}  

第二个测试的对象:query1

对象query1则和mysql_query()一样了,为节省版面长点的汉字都删了。

<?php  
include("../../class/connect.php");  
include("../../class/db_sql.php");  
$link=db_connect();  
$empire=new mysqlquery();  
  
function hr(){  
    echo ' 
<hr /-->';  
}  
  
$sql=$empire->query1("select id,title from {$dbtbpre}ecms_news");  
var_dump($sql);  
hr();  
  
//如语句执行成功true  
$sql=$empire->query1("UPDATE {$dbtbpre}ecms_news set title='测试更新标题' where id=1");  
var_dump($sql);  
hr();  
  
//如语句执行失败则返回FLASE  
$sql=$empire->query1("UPDATE {$dbtbpre}ecms_news set titlesss='测试更新标题' where id=1");  
var_dump($sql);  
hr();  
  
db_close();  
$empire=null;  
?>  
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn