原生查詢
Db
類支持原生SQL
查詢操作,主要包括下面兩個(gè)方法:
query
方法
query
方法用于執(zhí)行SQL
查詢操作,如果數(shù)據(jù)非法或者查詢錯(cuò)誤則返回false,否則返回查詢結(jié)果數(shù)據(jù)集(同select
方法)。
使用示例:
Db::query("select * from think_user where status=1");
如果你當(dāng)前采用了分布式數(shù)據(jù)庫,并且設(shè)置了讀寫分離的話,query方法始終是在讀服務(wù)器執(zhí)行,因此query方法對(duì)應(yīng)的都是讀操作,而不管你的SQL語句是什么。
execute
方法
execute用于更新和寫入數(shù)據(jù)的sql操作,如果數(shù)據(jù)非法或者查詢錯(cuò)誤則返回false ,否則返回影響的記錄數(shù)。
使用示例:
Db::execute("update think_user set name='thinkphp' where status=1");
如果你當(dāng)前采用了分布式數(shù)據(jù)庫,并且設(shè)置了讀寫分離的話,execute方法始終是在寫服務(wù)器執(zhí)行,因此execute方法對(duì)應(yīng)的都是寫操作,而不管你的SQL語句是什么。
參數(shù)綁定
支持在原生查詢的時(shí)候使用參數(shù)綁定,包括問號(hào)占位符或者命名占位符,例如:
Db::query("select * from think_user where id=? AND status=?",[8,1]);
// 命名綁定
Db::execute("update think_user set name=:name where status=:status",['name'=>'thinkphp','status'=>1]);
文檔最后更新時(shí)間:2018-04-26 09:53:51
未解決你的問題?請(qǐng)到「問答社區(qū)」反饋你遇到的問題