thinkphp 里面执行SQL语句

在thinkphp里面的Model里面是内置了query方法的,只是需要new一个空的模型继承Model中的方法。:
    $Model = new Model();
    $sql = "select * from  table ";
    $res = $Model->query($sql);

<pre id="recommend-content-1356252069" class="recommend-text mb-10">$Model = M(); //$sql中包含了表名,实例化模型时可以为空。
$res = $Model->query($sql); 或 $res = $Model->execute($sql); //注意query是查功能,execute是增删改功能

<pre name="code" class="html">    /**
     +----------------------------------------------------------
     * SQL查询
     +----------------------------------------------------------
     * @access public
     +----------------------------------------------------------
     * @param mixed $sql  SQL指令
     * @param boolean $parse  是否需要解析SQL
     +----------------------------------------------------------
     * @return mixed
     +----------------------------------------------------------
     */
    public function query($sql,$parse=false) {
        $sql  =   $this->parseSql($sql,$parse);
        return $this->db->query($sql);
    }

    /**
     +----------------------------------------------------------
     * 执行SQL语句
     +----------------------------------------------------------
     * @access public
     +----------------------------------------------------------
     * @param string $sql  SQL指令
     * @param boolean $parse  是否需要解析SQL
     +----------------------------------------------------------
     * @return false | integer
     +----------------------------------------------------------
     */
    public function execute($sql,$parse=false) {
        $sql  =   $this->parseSql($sql,$parse);
        return $this->db->execute($sql);
    }

    /**
     +----------------------------------------------------------
     * 解析SQL语句
     +----------------------------------------------------------
     * @access public
     +----------------------------------------------------------
     * @param string $sql  SQL指令
     * @param boolean $parse  是否需要解析SQL
     +----------------------------------------------------------
     * @return string
     +----------------------------------------------------------
     */
    protected function parseSql($sql,$parse) {
        // 分析表达式
        if($parse) {
            $options =  $this->_parseOptions();
            $sql  =   $this->db->parseSql($sql,$options);
        }else{
            if(strpos($sql,'__TABLE__'))
                $sql    =   str_replace('__TABLE__',$this->getTableName(),$sql);
        }
        $this->db->setModel($this->name);
        return $sql;
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值