摘要:里面的已經(jīng)很方便我們進(jìn)行數(shù)據(jù)庫的操作,但有些時(shí)候還需要自己寫一些語句去查詢等。在里面可以通過以下方式直接執(zhí)行語句在此之前需要在里面配置數(shù)據(jù)相關(guān)信息然后再通過進(jìn)行調(diào)用。要是直接用在語句中,最好要經(jīng)過防注入處理。
Yii 自帶了豐富的功能 ,包括 MVC,DAO/ActiveRecord,I18N/L10N,緩存,身份驗(yàn)證和基于角色的訪問控制,腳手架,測(cè)試等,可顯著縮短開發(fā)時(shí)間。
Yii里面的 DAO/ActiveRecord 已經(jīng)很方便我們進(jìn)行數(shù)據(jù)庫的操作,但有些時(shí)候還需要自己寫一些 sql 語句去查詢等。在 Yii 里面可以通過以下方式直接執(zhí)行 sql 語句:
在此之前需要在 config/main.php 里面配置數(shù)據(jù)相關(guān)信息:
"db"=>array( "class" => "CDbConnection", "connectionString" => "mysql:host=127.0.0.1;port=3607;dbname=dbname", "emulatePrepare" => true, "username" => "root", "password" => "mysql", "charset" => "utf8", "tablePrefix"=>"pf_", ),
然后再通過 Yii::app()->db 進(jìn)行調(diào)用。
方式一:
$db = Yii::app()->db; $sql = "SELECT * FROM `news` ORDER BY id DESC"; $command = $db->createCommand($sql); $result = $command->queryAll(); print_r($result);
方式二:
$db = Yii::app()->db; $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"; }
方式三:
$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"; }
方式四:
$db = Yii::app()->db; $oCommand = $db->createCommand("SELECT * FROM news WHERE title = :title"); $oCommand->bindParam(":title", $title, PDO::PARAM_STR); $result = $oCommand->queryAll(); print_r($result);
說明:把查詢條件作為參數(shù)(如方式二),比較安全,可直接避免注入。要是直接用在 SQL 語句中,最好要經(jīng)過防注入處理。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/20963.html
摘要:第二個(gè)參數(shù)是一個(gè)數(shù)組,其中鍵為所關(guān)聯(lián)的模型中的屬性,值為當(dāng)前模型中的屬性。這里注意中的第二個(gè)是指關(guān)聯(lián)的中的,第一個(gè)是指中的。 首先先來說明一下表結(jié)構(gòu) 表結(jié)構(gòu) 現(xiàn)在有訂單表、用戶表、商品清單表、商品庫存表 showImg(https://segmentfault.com/img/bVRcME?w=833&h=244); showImg(https://segmentfault.com/i...
摘要:因?yàn)閯傞_始學(xué)習(xí)框架的時(shí)候使用的是,后來開始接觸的時(shí)候各種不熟悉,只能是各種百度,因?yàn)樽约河⒄Z很弱,花了不少時(shí)間。 因?yàn)閯傞_始學(xué)習(xí)php 框架的時(shí)候使用的是 CI,后來開始接觸 Yii 的時(shí)候各種不熟悉,只能是各種百度,因?yàn)樽约河⒄Z很弱,花了不少時(shí)間。 如果英文不錯(cuò),可以直接看原文地址 http://www.yiiframework.com/doc/guide/1.1/en/datab...
摘要:根據(jù)條件查詢一個(gè)集合根據(jù)主鍵查詢一個(gè)集合可以使用多個(gè)主鍵根據(jù)條件查詢一個(gè)集合可以是多個(gè)條件把條件放到數(shù)組里面根據(jù)語句查詢一個(gè)數(shù)組根據(jù)主鍵查詢出一個(gè)對(duì)象根據(jù)條件查詢出一組數(shù)據(jù)可能是多個(gè)但是他只返回第一行數(shù)據(jù)根據(jù) 1、根據(jù)條件查詢一個(gè)集合 $objectResult=Post::model()->findAll($condition,$params); $oClasses = classe...
閱讀 1142·2021-11-08 13:13
閱讀 1723·2019-08-30 15:55
閱讀 2775·2019-08-29 11:26
閱讀 2441·2019-08-26 13:56
閱讀 2563·2019-08-26 12:15
閱讀 2144·2019-08-26 11:41
閱讀 1406·2019-08-26 11:00
閱讀 1543·2019-08-23 18:30