1. 程式人生 > >Yii和ThinkPHP的增刪改查

Yii和ThinkPHP的增刪改查

//Yii
$db=Yii::app()->db->createCommand();
//增
$db->insert('{{student}}',array('xingming'=>'zhangsan','xingbie'=>'nv', 'grade'=>87));
$db->reset();//清空上次操作
//刪
$db->delete('{{student}}', 'id=:id', array(':id'=>$id));
$db->reset();
//改
$db->update('{{student}}', array('grade'=>'99'), 'xingming=:xingming and xingbie=:xingbie', array(':xingming'=>$xingming,':xingbie'=>$xingbie));
$db->reset();

//查
$db->select('c.typename, g.developers, p.description ')
->from('{{game_position_data}} p')
->Join( '{{category}} c', 'p.gameid = c.id' )
->Join( '{{games}} g', 'g.gameid = c.id' )
->where('p.posid=:posid', array(':posid'=>$posid))
->queryRow();
$db->reset();
//queryAll()-----查詢所有行
//queryRow()-----查詢第一行
//queryColumn()--查詢第一列
//queryScalar()--查詢第一行的第一列



//sql語句實現複雜的增刪改查
Yii::app()->db->createCommand($sql)->query();//執行一條mysql語句(增刪改查),返回物件
Yii::app()->db->createCommand($sql)->queryAll();//執行一條查詢語句,並返回多行查詢結果
Yii::app()->db->createCommand($sql)->queryRow();//執行一條查詢語句,並返回一行查詢結果
Yii::app()->db->createCommand($sql)->queryColumn();//執行一條查詢語句,並返回一列查詢結果
Yii::app()->db->createCommand($sql)->queryScalar();//執行一條查詢語句,並返回1個查詢結果
//從上面得知query的範圍更廣,但結果是物件,一般用來增刪改。後三個一般用來查詢
//例子:
//1、set2個,中間用逗號。where2個,中間用and
//2、yii原有的update條件只能有一個,但使用sql語句,就能滿足多個條件
$sql="update student set starttime='2017-10-01 00:00:00',endtime='2017-10-11 23:59:59' where xingming='zs' and age='14'";
Yii::app()->db->createCommand($sql)->query();



//另一種:一種防注入的方式
$sql1="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";
$sql2=array(':userid' => 115,':date_start'=>'2009-12-1',':date_end'=>'2009-12-31');
$results =Yii::app()->db->createCommand($sql)->query($sql2);
foreach($results as $result){
  echo $result['late']," and ",$result['early']," /n";
}
//TinkPHP
//增
M('UserRecord')->add($data);// if_user_record表, $data是一個數組
//刪
M('UserRecord') - >where('id=1') - >delete();
//改
M('UserRecord')->where("id='$id'")->save($data);//$data是一個數組
M("UserRecord")->where("id='$id'")->setInc('apprentices',1.5);//數字欄位+1.5

//查
select()---查詢多行
find()-----查詢一行
getField('name')-查詢某個欄位

//1、單表查詢
M('Room')->field('roomid,roomname,roomaddr')->where("id='$id'")->find();//find獲取一條記錄,select獲取所有條記錄
//2、關聯查詢兩種方式
M('User')->where("aso_workroom.status = 0 and aso_user.type = 2")
->join(" left join aso_workroom on aso_user.username = aso_workroom.id")
->select();

M()->table('if_room r,if_user u')->where('r.id=u.roomid and u.type=2')->select();
//注意:M("User")裡面的表是去掉表字首後的表,如想要整個表名,用M()->table("abc_user")


相關推薦

yii2 框架的 AR DAO 刪改

寫法 mod sar 增刪改查 title isn function rec 自己 自己做個總結 方便以後查找使用 /** * yii 的增刪改查 */ //增 public function add1($data) {

thinkphp刪改

pos 分享 blog .com clas http src bubuko inf thinkphp增刪改查

npm 安裝axios使用刪改

del rom port import ole ror 功能 delet nbsp 1:安裝axios(建議安裝淘寶鏡像) npm install axios 2:項目導入 npm install --save axios vue-axios 3:頁面導入 import

MySQL在DOS介面對databasetable刪改

昨天新接觸MySQL,學習了一些內容,今天過來複習一下。(吐槽一下:安裝個MySQL耗費老子半天時間!!)   學習了一下,大概知道了對資料庫基本的增刪改查,增add,刪drop,改alter,查show,都是英文單詞,很好理解。 首先講一下資料庫的增刪改查   建立資料庫 crea

學習PHP中yii框架的刪改

我所在的工作室由原有的專案,作業就是在裡面新增一個板塊進行練習PHP最基本的增刪改查。 1.新建一個數據庫 由於我在學習以前的框架時就已經建了一個數據庫,對這個庫也比較熟悉,所以還是打算用這個庫了。 資料庫名為db_song,我選擇的表為t_songs(一個歌單),其中包含id(主

mysqld的安裝基本刪改

1安裝mysql 1 )刪除低版本的mysql服務 2)新版本的mysql的安裝、初始密碼設定、登入和退出資料庫 3)安裝mysql後的配置檔案 4)登入資料庫後,對庫的操作:檢視庫,檢視當前所在庫,切換庫,建立庫,刪除庫 5)資料庫裡表的操作:在庫裡檢視所列的所有表,查

Yii資料庫操作刪改-[增加\查詢\更新\刪除 AR模式]

本人小菜鳥一隻,為了自我學習和交流PHP(jquery,linux,lamp,shell,javascript,伺服器)等一系列的知識,小菜鳥建立了一個群。希望光臨本部落格的人可以進來交流。尋求共同

YiiThinkPHP刪改

//Yii $db=Yii::app()->db->createCommand(); //增 $db->insert('{{student}}',array('xingming'=>'zhangsan','xingbie'=>'nv', 'gr

go語言筆記——切片函數常見操作,刪改搜索、排序

通過 學習 strings 完整 官方文檔 二分 func fun 必須 7.6.6 搜索及排序切片和數組 標準庫提供了 sort 包來實現常見的搜索和排序操作。您可以使用 sort 包中的函數 func Ints(a []int) 來實現對 int 類型的切片排序。例如

利用LinQ技術lambd表達式進行刪改

有效 common 實體 tool try linq default 普通查詢 tor 數據庫訪問技術:   ADO.net   EF框架   LinQ LinQ是一種高集成化的數據庫訪問技術,他將數據庫中的表映射成程序中的類   數據庫的表名變成類名   數據庫的列名變成

Mongodb基本操作入門,刪改索引

less multi zhang 一個 attribute var sin 第一個 base 主要進程 mongod.exe為啟動數據庫實例的進程。 mongo是一個與mongod進程進行交互的JavaScript shell進程,它提供了一些交互的接口函數用戶

012:子查詢刪改

err eat 多個 cal mat 行數 分類 查詢 同時 一. 子查詢 子查詢就是指在一個select語句中嵌套另一個select語句。同時,子查詢必須包含括號。 MySQL 5.6.x 版本之前,MySQL的子查詢性能較差,但是從5.6開始,不存在性能差的問題。

字典的刪改嵌套

body pre 嵌套 一行代碼 .get dbo clear 增刪改查 value 字典:python中非常重要的數據類型,在python中唯一一個映射的數據類型數據類型分類 按照數據可變與不可變: # 不可變數據類型: int str bool tuple # 可變數據

myeclipse中JDBC連接mysql簡單的刪改

eal next() 獲取 ont rom date cto 有用 insert 廢話不多說,直接上操作圖,操作起來理解會更徹底 1、myeclipse中項目結構,先在web-inf-lib下導入jar包,註意Web App Libraries這個目錄,下面會有用到的地方

對象的刪改

AI like wan spa ini python腳本 方法 一個 pri 最近寫一個簡單的python腳本,延遲了半個月的進度 接下來學習面向對象了 # 類的增刪改查 class Dog: def __init__(self,name,age,color)

PHP7操作MongoDB的刪改分頁操作

mongodb mongodb分頁 php7 原文博客地址www.xiegaosheng.com/post/view?id=96;<?php /** * Class MongodbClient * mongod操作類 *如果需要自己也可以改成單例模式 */ class Mongod

列表(索引與切片,刪改) ,計數,排序,元祖元祖的嵌套

元素 col 切片 ack list 升序 不能 height pen 1.列表 1.列表相比於字符串. 不限制數據類型. 而且可以存放大量的數據   2.表示方式: [] 方括號中的每一項都要逗號隔開   3.列表和字符串一樣,也有索引與切片 常用功

列表,元組 列表的刪改 還有range

註意 del 美麗 [] pri 李彥宏 長度 計數 list() 1)rangerange(邊界) 從0到邊界range(start, end) 從start到endrange(start, end, step) 從start到end. 步長是step 遍歷列表的

Flask中之數據庫框架模型類四:再述SQLAlchemy配置基本操作之刪改

模糊 offset odi com app ack 字符 add () from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) #設置連接數據庫的URL

61 書籍出版社 的刪改 幾秒後跳轉一個頁面

type ati value script light 條件 else filter ESS 主要內容: 書籍的增刪改查:   增: selecct標簽 for循環{% for press in press_list %}...option....{% endif