日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

ThinkPHP6项目基操(6.数据库Db操作)

發(fā)布時間:2025/3/15 php 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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ù)庫信息修改):

[DATABASE] TYPE = mysql HOSTNAME = 127.0.0.1 DATABASE = tp6_test USERNAME = root PASSWORD = root HOSTPORT = 3307 CHARSET = utf8 DEBUG = true

二、訪問數(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。