本文目錄
- 例1:連接MYSQL程序。(a.php)
- 例2:操作MYSQL數(shù)據(jù)的程序。(b.php)
- 例3:讀MYSQL數(shù)據(jù)的程序。(c.php)
- 1、執(zhí)行SQL函數(shù)
- 2、循環(huán)讀取數(shù)據(jù)庫(kù)記錄函數(shù)
- 3、讀取單條數(shù)據(jù)庫(kù)記錄函數(shù):(不循環(huán))
- 4、統(tǒng)計(jì)SQL查詢記錄數(shù)函數(shù)
- 5、統(tǒng)計(jì)SQL查詢記錄數(shù)函數(shù)2:(相對(duì)于num更高效的函數(shù))
- 6、取得剛插入表的自增ID值函數(shù)
- 7、移動(dòng)SQL查詢結(jié)果記錄指針
- 8、釋放SQL查詢結(jié)果函數(shù):(一般不需要使用)
帝國(guó)CMS擴(kuò)展SQL程序編寫(xiě)介紹
基本范例:
說(shuō)明:下面例子都是以PHP文件放在系統(tǒng)根目錄為基準(zhǔn)。
例1:連接MYSQL程序。(a.php)
<?php
require('e/class/connect.php'); //引入數(shù)據(jù)庫(kù)配置文件和公共函數(shù)文件
require('e/class/db_sql.php'); //引入數(shù)據(jù)庫(kù)操作文件
$link=db_connect(); //連接MYSQL
$empire=new mysqlquery(); //聲明數(shù)據(jù)庫(kù)操作類(lèi)
db_close(); //關(guān)閉MYSQL鏈接
$empire=null; //注消操作類(lèi)變量
?>
例2:操作MYSQL數(shù)據(jù)的程序。(b.php)
<?php
require('e/class/connect.php'); //引入數(shù)據(jù)庫(kù)配置文件和公共函數(shù)文件
require('e/class/db_sql.php'); //引入數(shù)據(jù)庫(kù)操作文件
$link=db_connect(); //連接MYSQL
$empire=new mysqlquery(); //聲明數(shù)據(jù)庫(kù)操作類(lèi)
$empire->query("update {$dbtbpre}ecms_news set onclick=onclick+1"); //給新聞表的點(diǎn)擊數(shù)加1
db_close(); //關(guān)閉MYSQL鏈接
$empire=null; //注消操作類(lèi)變量
?>
例3:讀MYSQL數(shù)據(jù)的程序。(c.php)
<?php
require('e/class/connect.php'); //引入數(shù)據(jù)庫(kù)配置文件和公共函數(shù)文件
require('e/class/db_sql.php'); //引入數(shù)據(jù)庫(kù)操作文件
$link=db_connect(); //連接MYSQL
$empire=new mysqlquery(); //聲明數(shù)據(jù)庫(kù)操作類(lèi)
$sql=$empire->query("select * from {$dbtbpre}ecms_news order by newstime limit 10"); //查詢新聞表最新10條記錄
while($r=$empire->fetch($sql)) //循環(huán)獲取查詢記錄
{
echo"標(biāo)題:".$r['title']."<br>";
}
db_close(); //關(guān)閉MYSQL鏈接
$empire=null; //注消操作類(lèi)變量
?>
/e/class/db_sql.php文件中數(shù)據(jù)庫(kù)操作類(lèi)常用的函數(shù)說(shuō)明:
1、執(zhí)行SQL函數(shù)
$empire->query("SQL語(yǔ)句");
$empire->query1("SQL語(yǔ)句");
說(shuō)明:
執(zhí)行成功返回true,執(zhí)行不成功返回false ;
兩者區(qū)別是:query()出錯(cuò)直接中斷程序執(zhí)行,query1()出錯(cuò)不中斷程序執(zhí)行。
使用范例:
$sql=$empire->query("select * from {$dbtbpre}ecms_news");
2、循環(huán)讀取數(shù)據(jù)庫(kù)記錄函數(shù)
$empire->fetch($sql)
說(shuō)明:
$sql為query執(zhí)行SQL返回的結(jié)果。
使用范例:
$sql=$empire->query("select * from {$dbtbpre}ecms_news");
while($r=$empire->fetch($sql))
{
echo"標(biāo)題:".$r['title']."<br>";
}
3、讀取單條數(shù)據(jù)庫(kù)記錄函數(shù):(不循環(huán))
$empire->fetch1("SQL語(yǔ)句")
使用范例:
$r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");
echo"標(biāo)題:".$r['title'];
4、統(tǒng)計(jì)SQL查詢記錄數(shù)函數(shù)
$empire->num("SQL語(yǔ)句")
$empire->num1($sql)
說(shuō)明:
兩者的區(qū)別是:num()直接寫(xiě)SQL語(yǔ)句,而num1()中的$sql為query執(zhí)行SQL返回的結(jié)果。
使用范例:
$num=$empire->num("select id from {$dbtbpre}ecms_news");
echo"新聞表共有 ".$num." 條新聞";
5、統(tǒng)計(jì)SQL查詢記錄數(shù)函數(shù)2:(相對(duì)于num更高效的函數(shù))
$empire->gettotal("統(tǒng)計(jì)SQL語(yǔ)句");
說(shuō)明:
gettotal()和num()的區(qū)別是:gettotal()采用SQL本身的count(*)函數(shù)來(lái)統(tǒng)計(jì),而num()是采用PHP本身的函數(shù),gettotal()更高效一些。
gettotal()里的統(tǒng)計(jì)數(shù)一定要as total,如:“count(*) as total”。
使用范例:
$num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");
echo"新聞表共有 ".$num." 條新聞";
6、取得剛插入表的自增ID值函數(shù)
$empire->lastid()
使用范例:
$empire->query("insert into {$dbtbpre}ecms_news(title) values('標(biāo)題')");
$lastid=$empire->lastid();
echo"剛插入的信息ID為:".$lastid;
7、移動(dòng)SQL查詢結(jié)果記錄指針
$empire->seek($sql,$pit)
說(shuō)明:
$sql為query執(zhí)行SQL返回的結(jié)果,$pit為指針的偏移數(shù)。
使用范例:
$sql=$empire->query("select * from {$dbtbpre}ecms_news");
$empire->seek($sql,2);
8、釋放SQL查詢結(jié)果函數(shù):(一般不需要使用)
$empire->free($sql)
說(shuō)明:
$sql為query執(zhí)行SQL返回的結(jié)果。
使用范例:
$sql=$empire->query("select * from {$dbtbpre}ecms_news");
$empire->free($sql);