ThinkPHP里面用原生SQL

public function rewardlog(){
        $adminNav = C(‘ADMIN_NAV‘);
        $adminNav[1][‘class‘] = ‘cur‘;
        $this->assign(‘adminNav‘,$adminNav);

        $where = ‘And 1=1‘;
        if($_POST){
            $input = trim($_POST[‘input‘]);
            if($input != ‘‘){
            $where = ‘AND u.nickname like \‘%‘.$input.‘%\‘ OR r.message_code like \‘%‘.$input.‘%\‘ group by r.id‘;
            }
        }
        $sql ="SELECT r.id,u.nickname,p.pname,r.choosetime,r.message_code,r.gettime FROM `1008_reward` r,`1008_user` u,`1008_prize` p WHERE r.uid = u.id AND r.rid = p.id $where";
        $model = M();
        $list = $model->query($sql);
        $count = count($list);
        $Page       = new Page($count,10);
        $show       = $Page->show();
        $res = $model->query($sql." limit {$Page->firstRow},{$Page->listRows}");
        $this->assign(‘input‘,$input);
        $this->assign(‘res‘,$res);
        $this->assign(‘page‘,$show);
        $this->assign(‘title‘,‘中奖记录‘);
        $this->display();
    }

1、查询用query   添加与修改用execute

时间: 2024-10-01 01:57:39

ThinkPHP里面用原生SQL的相关文章

怎样在thinkphp里面执行原生的sql语句

$Model = new Model(); $sql = "select * from `order`"; $voList = $Model->query($sql); 只是需要new一个空的模型继承Model中的方法. 怎样在thinkphp里面执行原生的sql语句

thinkphp 和 laravel使用sql语句操作db和源码浅析

前言 对于一个PHP应用,可能最多的就是操作数据,以致于初学者有时只把php当做数据库增删查改的工具(这也无可厚非).而基于框架的语言,在框架中自然不能少了对数据库操作的封装,总想打开源码,看看到底是怎么工作的,趁着有时间~~ thinkphp[tp框架] 首先是这个中国人用的最多的框架说起.ps:我是基于thinkphp3.2来说,tp5.x党见谅~ thinkphp支持对原生的sql语句执行,如: $db=M(); $condition="XXX"; $sql="sele

atitit. hb 原生sql跨数据库解决原理 获得hb 数据库类型运行期获得Dialect

#-----原理 Hibernate 运行期获得Dialect 2010-07-28 12:59:58|  分类: 软件开发 |举报 |字号 订阅 String dialect = ((SessionFactoryImpl) session.getSessionFactory()).getDialect() .getClass().getName(); //     //org.hibernate.dialect.MySQLDialect 如果是spring + hibernate则可以: St

Hibernat 原生SQL运行结果集处理方法

hibernate对原生SQL查询执行的控制是通过SQLQuery接口进行的. Session.createSQLQuery(); 使用list()方法可以把Session.createSQLQuery()的结果集处理成List返回,将返回一个Object数组(Object[])组成的List,数组每个元素都是CATS表的一个字段值.Hibernate会使用ResultSetMetadata来判定返回的标量值的实际顺序和类型. 如果要避免过多的使用ResultSetMetadata,或者只是为了

Hibernate原生sql的查询,返回结果设置到DTO

原生sql的查询,返回结果设置到DTO: Query query = sessionFactoryRtData.getCurrentSession().createSQLQuery(hql.toString()).setResultTransformer(Transformers.aliasToBean(RTDataAttrDto.class));

entityframework学习笔记--009-使用原生sql语句操作数据

1 使用原生SQL语句更新--Database.ExecuteSqlCommand 假设你有一张如图9-1所示的Payment数据库表. 图9-1 1.1 实体类型: 1 public class Payment 2 { 3 public int PaymentId { get; set; } 4 public decimal Amount { get; set; } 5 6 public string Vendor { get; set; } 7 } 1.2 数据访问类: 1 public c

Hibernate5.2之原生SQL查询

Hibernate5.2之原生SQL查询 一. 介绍  在上一篇博客中笔者通过代码的形式给各位读者介绍了Hibernate中最重要的检索方式--HQL查询.在本博文中笔者将向各位读者介绍Hibernate中的原生SQL查询,虽为原生SQL查询,但是笔者认为Hibernate在针对不同的数据库在分页语句的处理上做的很不错,我们不用去关心使用的是何种的数据库.本博文会沿用<Hibernate5.2之HQL查询>中的POJO类和配置文件,请各位看官在阅读本博文之前请先阅读该文章,本篇文章会将HQL中

Hibernate的HQL和原生SQL返回简单对象

最近跟了一个技术经理,他有个要求就是所有的查询比结果都必需是对象,不是是map之类的,而且有很多对象的是很多实体相联合组成的对象,所有又专门研究了hibernate返回对象的知识 这次讨论的对象都是组合对象,就是很多实体相关联,取他们一部分字段的组合对象, Hql 首先扩展的对象 package com.hfview.bean; import java.util.ArrayList; import java.util.List; public class PersonEx { private S

在Hibernate中使用原生SQL语句

使用原生SQL查询必须注意:程序必须选出所有的数据列才可被转换成持久化实体.假设实体在映射时有一个<many-to-one../>的关联指向另外一个实体,则SQL查询中必须返回该<many-to-one../>映射的外键列,否则将导致抛出"column not found"异常.最简单的做法是,在SQL字符串中使用星(*)来表示返回所有列.    在原生SQL语句中一样支持使用参数,这些参数即可使用问号参数(?),也可使用名字参数. 示例1:名字参数public