zoukankan      html  css  js  c++  java
  • yii直接执行sql

    例1

    $connection = Yii::app()->db;
    $sql = "SELECT * FROM `project` ORDER BY id DESC";
    $command = $connection->createCommand($sql);
    $result = $command->queryAll();

    print_r($result); 


    例2

     $db = Yii::app()->db; //you have to define db connection in config/main.php

    $sql = "select sum(if(starttime>'09:00:00',1,0)) as late,
      sum(if(endtime<'18:00:00',1,0)) as early         
    from present where userid=:userid and date between :date_start and :date_end"
    $results = $db->createCommand($sql)->query(array(
      ':userid' => 115,':date_start'=>'2009-12-1',':date_end'=>'2009-12-31',
    ));
    foreach($results as $result){
      echo $result['late']," and ",$result['early']," /n";
    }


     例3

     $sql = "select sum(if(starttime>'09:00:00',1,0)) as late,

      sum(if(endtime<'18:00:00',1,0)) as early         
    from present where userid=115 and date between '2009-12-1' and '2009-12-31'"
    $results = $db->createCommand($sql)->query();
    foreach($results as $result){
      echo $result['late']," and ",$result['early']," /n";
    }


    例4

    $oDbConnection = Yii::app()->db; // Getting database connection (config/main.php has to set up database
    // Here you will use your complex sql query using a string or other yii ways to create your query

    $oCommand = $oDbConnection->createCommand('SELECT * FROM my_table WHERE myAttr = :myValue');
    // Bind the parameter
    $oCommand->bindParam(':myValue', $myValueThatCameFromPostOrAnywereElse, PDO::PARAM_STR);
     

    $oCDbDataReader = $oCommand->queryAll(); // Run query and get all results in a CDbDataReader 

    说明:把查询条件作为参数(如例2),比较安全,可直接避免注入。要是直接用在SQL语句中,最好要经过防注入处理。

    come from http://blog.csdn.net/straul/article/details/6320858 
     

  • 相关阅读:
    受益一生的15个学习习惯
    如何在工作的头三年里让自己变得强大
    linux定时执行脚本
    SpringMVC基础入门
    Spring与Quartz的整合实现定时任务调度[转]
    强肝保肝养肝4大食物
    Spring官网jar包下载方法
    tomcat管理端的页面安全措施
    Struts2 Action 动态传参数
    Java之控制反转和依赖注入
  • 原文地址:https://www.cnblogs.com/likwo/p/2596516.html
Copyright © 2011-2022 走看看