範例1:連接MYSQL資料庫範例。 (a.php)
程式碼如下:
<?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; //注消操作类变量 ?>
範例2:更新資料範例。 (b.php)
程式碼如下:
<?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; //注消操作类变量 ?>
推薦學習《帝國cms教學》
範例3:查詢MYSQL資料的範例。 (c.php)
程式碼如下:
<?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; //注消操作类变量 ?>
/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回傳的結果。
使用範例:
程式碼如下:
$sql=$empire->query("select * from {$dbtbpre}ecms_news"); while($r=$empire->fetch($sql)) { echo"标题:".$r['title']." "; }
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);
導航查詢範例:
程式碼如下:
<DIV class=news_dh style="color:#000000"></p> <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 href="<?=$public_r[newsurl]?><?=$bqr[classpath]?>" ><?=$bqr[classname]?></a></span> <SPAN><IMG src="[!--news.url--]skin/tx/zixun/images/index_line_nav.gif"></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 class="<?=$lanmuclass?>"><a href="<?=$public_r[newsurl]?><?=$bqr[classpath]?>" > <?=$bqr[classname]?></a></span> <SPAN><IMG src="[!--news.url--]skin/tx/zixun/images/index_line_nav.gif"></SPAN></p> <p>[/e:loop]</p> <p> <!--新闻导航结束--> </DIV>
以上是總結帝國CMS下在PHP檔案中呼叫資料庫類別執行SQL語句實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!