標籤:修改 new roman family exec ack font strong 智能
【收集表單資料入庫操作】
- 製作一個表單
- 通過$_POST收集資訊
- 通過create()方法實現資料收集,該方法對於非法的欄位會自動進行過濾(它只是收集資料,不儲存資料,如果要儲存資料,則需要add方法)
- 在create()收集表單方法內部會自動過濾非法的欄位資訊(如果收集的資料欄位名字不正確的話,那麼它會自動過濾掉這個欄位)
【資料修改操作】
select()
add()
save() 實現資料修改,返回受影響的記錄條數
delete()
具體有兩種方式實現資料修改,與添加類似(數組、AR方式)
- 數組方式
a) $goods = D(“Goods”);
b) $ar = array(‘goods_name’=>’lenovo手機’,’goods_price’=>1200);
c) $goods ->where(‘goods_id>50’)-> save($ar);
- AR方式
a) $goods = D(“Goods”);
c) $goods -> goods_name = “三星手機”;
d) $goods -> goods_price = 2000;
e) $goods -> where(‘goods_price>10000’)->save();
以上兩種方式如果可行,即要修改全部資料
以上sql語句從技術上可行,從業務上不可行(事故)
tp架構有智能考慮,以上情況的sql語句不被允許執行。
如何執行:
① 明確告訴系統那條sql語句被update更新
② 可以設定where進行sql語句更新操作
save() 方法傳回值
0:之前沒有問題,執行前後資料沒有變化
自然數:受影響的記錄條數
false:執行失敗
【資料刪除及執行原生sql語句】
select()
add()
save()
delete() 返回受影響的記錄條數
$goods -> delete(30); 刪除主索引值等於30的記錄資訊
$goods -> delete(“10,12,13”); 刪除主索引值等於10 12 13的三條記錄
$goods -> where(“goods_id>60”)->delete() 把合格記錄都給刪除
執行原生sql語句
- 查詢語句query() 返回一個二維數組資訊
- 添加、修改、刪除 execute() 返回受影響的記錄條數
$goods = D(“Goods”);
$sql = “select * from sw_goods”;
$rst = $goods -> query($sql);
$sql = “select goods_category_id,avg(goods_price) from sw_goods group by goods_category_id having avg(goods_price)>1000”;
$goods -> query($sql);
$sql = “update sw_goods set goods_name = ‘htc_two’ where goods_id=100”;
$goods -> execute($sql);
ThinkPHP架構 _ 學習13