ThinkPHP6项目基操(6.数据库Db操作)
生活随笔
收集整理的這篇文章主要介紹了
ThinkPHP6项目基操(6.数据库Db操作)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
數(shù)據(jù)庫Db操作
- 一、數(shù)據(jù)庫配置
- 二、訪問數(shù)據(jù)庫
- 1. 使用門面模式的Db類
- 2. 使用容器方式
- 三、數(shù)據(jù)庫返回數(shù)據(jù)異常調(diào)試
- 1. 打開APP_DEBUG
- 2. 打印SQL語句
- 四、增刪查改CURD操作
- 1. 新增
- 2. 刪除
- 3. 更新
一、數(shù)據(jù)庫配置
config目錄下默認有個database.php文件,這里配置了默認的數(shù)據(jù)庫信息:
<?phpreturn [// 默認使用的數(shù)據(jù)庫連接配置'default' => env('database.driver', 'mysql'),// 自定義時間查詢規(guī)則'time_query_rule' => [],// 自動寫入時間戳字段// true為自動識別類型 false關閉// 字符串則明確指定時間字段類型 支持 int timestamp datetime date'auto_timestamp' => true,// 時間字段取出后的默認時間格式'datetime_format' => 'Y-m-d H:i:s',// 數(shù)據(jù)庫連接配置信息'connections' => ['mysql' => [// 數(shù)據(jù)庫類型'type' => env('database.type', 'mysql'),// 服務器地址'hostname' => env('database.hostname', '127.0.0.1'),// 數(shù)據(jù)庫名'database' => env('database.database', ''),// 用戶名'username' => env('database.username', 'root'),// 密碼'password' => env('database.password', ''),// 端口'hostport' => env('database.hostport', '3306'),// 數(shù)據(jù)庫連接參數(shù)'params' => [],// 數(shù)據(jù)庫編碼默認采用utf8'charset' => env('database.charset', 'utf8'),// 數(shù)據(jù)庫表前綴'prefix' => env('database.prefix', ''),// 數(shù)據(jù)庫部署方式:0 集中式(單一服務器),1 分布式(主從服務器)'deploy' => 0,// 數(shù)據(jù)庫讀寫是否分離 主從式有效'rw_separate' => false,// 讀寫分離后 主服務器數(shù)量'master_num' => 1,// 指定從服務器序號'slave_no' => '',// 是否嚴格檢查字段是否存在'fields_strict' => true,// 是否需要斷線重連'break_reconnect' => false,// 監(jiān)聽SQL'trigger_sql' => env('app_debug', true),// 開啟字段緩存'fields_cache' => false,],// 更多的數(shù)據(jù)庫配置信息], ];可以看到這里默認是采用mysql數(shù)據(jù)庫,數(shù)據(jù)庫配置信息先去env環(huán)境配置文件里讀取,如果沒有,則使用默認的參數(shù)。
.env文件數(shù)據(jù)庫配置(根據(jù)自己的數(shù)據(jù)庫信息修改):
二、訪問數(shù)據(jù)庫
1. 使用門面模式的Db類
新建Data控制器,這里需要注意的是使用的facade\Db類,和TP5使用的think\Db不同:
<?phpnamespace app\controller;use app\BaseController; use think\facade\Db;class Data extends BaseController {public function index(){$result = Db::table("demo")->where("id",1)->find();dump($result);} }2. 使用容器方式
$result = app("db")->table("demo")->where("id",1)->find();三、數(shù)據(jù)庫返回數(shù)據(jù)異常調(diào)試
1. 打開APP_DEBUG
在.env文件中設置
APP_DEBUG = true然后瀏覽器訪問頁面會在右下角有個調(diào)試按鈕,點開可以看到SQL語句,如果返回數(shù)據(jù)有問題,可以檢查生成的SQL語句是否有問題,也可以在可視化數(shù)據(jù)庫管理工具中運行試下:
2. 打印SQL語句
fetchSql() 可以返回SQL語句:
$result = Db::table("demo")->where("id",1)->fetchSql()->find(); dump($result);也可以使用getLastSql靜態(tài)方法獲取SQL語句:
$result = Db::table("demo")->where("id",1)->find(); dump(Db::getLastSql());打印結果同上。
四、增刪查改CURD操作
1. 新增
public function add(){$data = ["username" => "wangwu","password" => "789"];$result = Db::table("demo")->insert($data);dump(Db::getLastSql());dump($result); }2. 刪除
public function delete(){$result = Db::table("demo")->delete(1);dump(Db::getLastSql());dump($result); }3. 更新
public function update(){$result = Db::table("demo")->where("id","2")->update(["password"=>"abc"]);dump(Db::getLastSql());dump($result); }??重磅推薦:免費商用電商系統(tǒng)
😏想白嫖整個電商系統(tǒng)用來商用?
🤑想有自己的商城實現(xiàn)財富自由?
🤓想學習最佳實踐提升自己技術?
快來進入🚀 傳送門 🚀,開源免費、完整示例帶你快速入門,輕松二開,走上人生巔峰!👨?🎓
總結
以上是生活随笔為你收集整理的ThinkPHP6项目基操(6.数据库Db操作)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【二】创建版本库
- 下一篇: python mysql 内存_Pyth