原生SQL查詢有 query() 和 execute() 兩個方法:
嘉祥網站建設公司成都創新互聯,嘉祥網站設計制作,有大型網站制作公司豐富經驗。已為嘉祥上千余家提供企業網站建設服務。企業網站搭建\成都外貿網站建設公司要多少錢,請找那個售后服務好的嘉祥做網站的公司定做!
query():用于 SQL 查詢操作,并返回符合查詢條件的數據集
execute():更新和寫入數據的 SQL 操作,返回影響的記錄數
query()
query() 方法是用于 SQL 查詢操作,和select()方法一樣返回符合查詢條件的數據集。
例子:
public function read(){
// 實例化一個空模型,沒有對應任何數據表
$Dao = M();
//或者使用 $Dao = new Model();
$list = $Dao-query("select * from user where uid5");
if($list){
$this-assign('list', $list );
$this-display();
} else {
$this-error($Dao-getError());
}
}
對于 query() 方法返回的數據集,跟 select() 一樣,可以在模板里直接循環輸出。
execute()
execute() 方法用于更新和寫入數據的 SQL 操作(注:非查詢操作,無返回數據集),返回影響的記錄數。
例子:
public function read(){
header("Content-Type:text/html; charset=utf-8");
// 實例化一個空模型,沒有對應任何數據表
$Dao = M();
//或者使用 $Dao = new Model();
$num = $Dao-execute("update user set email = '12345@xxx.com' where uid=3");
if($num){
echo '更新 ',$num,' 條記錄。';
}else{
echo '無記錄更新';
}
}
如果查詢比較復雜或一些特殊的數據操作不能通過 ThinkPHP 內置的 ORM 和 ActiveRecord 模式實現時,就可以通過直接使用原生 SQL 查詢來實現。
注意:以上都是 user 沒有表前綴的例子,在查詢語句中,查詢的表應該寫實際的表名字(包括前綴)。
用時間比較函數實現的吧
比如
if(mktime()
-
$db_date
15*24*60*60){
echo
"帖子發布時間超過15日,該帖子禁止回復"
}
$db_date是你從數據庫查詢出來的時間
$time?=?date("Y-m-d?H:i:s",$t1?);?//把時間戳轉換成時間?格式如:2013-10-15?10:53:53
$list?=?ar::liebiao("oa_order","where?s_time'$time'");
網頁必須訪問才能執行,所以無法實現嚴格意義的定時執行功能。(沒人訪問就不會執行)
正常的做法是另外寫個小程序放在服務,定時執行。
兄弟。。服務器是不能操作數據庫的,只有php才能操作數據庫。。應該是服務器定期執行某個php程序,這個php程序刷新數據庫。。linux下面可以用crontab命令,把你的php程序寫在一個文件里面,然后用crontab命令定期調用。。
function($x,$y){
$sql = "select t from table where x=$x and y=$y limit 1";
$query =mysql_query($sql);
$result = '';
while($row=mysql_fetch_assoc($query)){
$result =$row;
}
return $result
}
原生態的這樣寫,用框架的話得根據框架的來寫查詢
本文標題:php定時查詢數據庫,php 數據庫查詢
轉載來源:http://m.kartarina.com/article38/hddesp.html
成都網站建設公司_創新互聯,為您提供網站內鏈、商城網站、網站設計公司、動態網站、小程序開發、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯