ThinkPHP資料庫原生SQL增刪改查
阿新 • • 發佈:2018-11-10
首先use think\Db(注意think要小寫)
Db
類支援原生SQL
查詢操作,主要包括下面兩個方法:
query
方法
query
方法用於執行SQL
查詢操作,如果資料非法或者查詢錯誤則返回false,否則返回查詢結果資料集(同select
方法)。
使用示例:
Db::query("select * from think_user where status=1");
如果你當前採用了分散式資料庫,並且設定了讀寫分離的話,query方法始終是在讀伺服器執行,因此query方法對應的都是讀操作,而不管你的SQL語句是什麼。
execute
方法
execute用於更新和寫入資料的sql操作,如果資料非法或者查詢錯誤則返回false ,否則返回影響的記錄數。
使用示例:
Db::execute("update think_user set name='thinkphp' where status=1");
如果你當前採用了分散式資料庫,並且設定了讀寫分離的話,execute方法始終是在寫伺服器執行,因此execute方法對應的都是寫操作,而不管你的SQL語句是什麼。
引數繫結
支援在原生查詢的時候使用引數繫結,包括問號佔位符或者命名佔位符,例如:
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]);