十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
原生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
}
原生态的这样写,用框架的话得根据框架的来写查询