如何使用帝國CMS自帶的數據庫類
2024-07-09 22:54:30
供稿:網友
帝國CMS封裝了一個SQL,文件位置是e/class/db_sql.php;使用程序本身的類庫可以給我們的開發帶來便利和效率,同時可以減少增設文件數量等。
首先,做下準備工作:
在e目錄下建立測試目錄,例如我建立的是e/trylife/td-test/
在1中目錄下建立個PHP文件,例如我建立的是e/trylife/td/test-db_sql.php
文件中寫入代碼如下:
<?php
/*引用文件*/
include("../../class/connect.php");
include("../../class/db_sql.php");
/*建立數據庫鏈接 與 實例化類*/
$link=db_connect();
$empire=new mysqlquery();
/*中間的這個位置用于我們測試代碼*/
/*關閉數據庫連接 與 釋放類*/
db_close();
$empire=null;
?>
第一個測試的對象:query
query()執行的是mysql_query()
返回值同樣遵循PHP手冊中對mysql_query()的解釋,不過執行失敗的情況下是和mysq_query不一樣地
測試代碼如下(去除了篇幅比較大的注釋):
<?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;
?>