PHP之ThinkPHP框架(資料庫)

2022-01-09 21:46:06 字數 3009 閱讀 3387

php是**後台開發語言,其重要的操作物件莫過於資料庫,之前有了解過mysqli和pdo,但thinkphp的資料庫互動必須使用其特定的封裝方法,或者可以認為其是對php資料庫操作的進一步封裝,以達到更加安全和高效。

thinkphp內建了抽象資料庫訪問層,把不同的資料庫操作封裝起來,我們只需要使用公共的db類進行操作,而無需針對不同的資料庫寫不同的**和底層實現,db類會自動呼叫相應的資料庫驅動來處理。採用pdo方式,目前包含了mysql、sqlserver、pgsql、sqlite等資料庫的支援。

資料庫連線配置

測試準備工作

建立資料表tb_test,並在database.php中配置('prefix'  => 'tb_',)使表字首為tb_,然後建立模板test.php,控制器testx.php

控制器testx.php實現

1

<?php2 //

其中user為模組名,需對應更改34

5//匯入建立的模板,其中user為模組名,test為模板類

6use78

9class

testx

1018 }

sql語句資料庫操作使用execute()和query()方法實現資料庫操作,是直接使用sql原生語句進行資料表操作

execute可實現資料表的增、刪、改,操作後會返回影響行數

query可實現資料表的增、刪、改、查,只有查詢會返回結果

模板test.php實現:

1

<?php2 //

其中user為模組名,需對應更改34

usethink\model;

5class test extends

model

632 }

基於pdo的新增語句模板test.php實現:

1

<?php2 //

其中user為模組名,需對應更改34

usethink\model;

5class test extends

model

631 }

基於pdo的刪除語句模板test.php實現:

1

<?php2 //

其中user為模組名,需對應更改34

usethink\model;

5class test extends

model

621 }

基於pdo的修改語句模板test.php實現:

1

<?php2 //

其中user為模組名,需對應更改34

usethink\model;

5class test extends

model

625 }

基於pdo的查詢語句模板test.php實現:

1

<?php2 //

其中user為模組名,需對應更改34

usethink\model;

5class test extends

model661

echo "********************";

6263

});64

*/65

}66 }

where和whileor條件的補充

1

<?php2 //

其中user為模組名,需對應更改34

usethink\model;

5class test extends

model

638 }

其他細節補充

1

//獲取到表的字段,型別,主鍵等資訊,返回陣列

2$res=test::gettableinfo();34

$res=test::where("id",12)

5 ->order("id") //

排序,新增實參desc為降序,預設asc

6 ->limit(0,10)//

獲取第[0,10]條資料

7//->page("3,10") //分頁,引數1為當前頁,引數2為每頁的條數

8 ->field("id,text3") //

提取的字段

9 ->whereor("text1","like","%w%") //

以where共用表示其中乙個條件滿足即可

10 ->select();

db模組運算元據庫以上是使用模板繼承model來實現資料庫操作的,當然還有另一種資料庫的操作方法,那就是使用系統的db模組。如果使用該模組則必須先use think\db;

1

<?php2 //

其中user為模組名,需對應更改34

usethink\db;56

class

test

727 }

參考:

PHP之ThinkPHP框架(會話)

網頁會話即是實現頁面跳轉及資料傳遞,在web開發中,cookie和session的使用是極其重要的,get和post是最常使用的頁面間資料傳遞的方法,相對於php指令碼基礎,在thinkphp中對網頁會話都進行了上層封裝。指令碼的會話基礎 php的會話控制 頁面跳 在控制器或模板中要做頁面跳轉時使用...

thinkphp框架漏洞

thinkphp框架爆出了乙個任意 執行漏洞,其危害性相當的高,漏洞利用方法如下 index.php module aciton param1 index.php module aciton param1 其中的function all代表任何函式,比如 index.php module acito...

Thinkphp框架基礎

mvc model 模型 模型 資料 層 view 檢視 檢視層 controller控制器 邏輯層 m 運算元據 資料連線,資料訪問 v 提供顯示模板 c 實現業務邏輯 mvc 約定勝於配置 action 操作,放在控制器裡面的方法 之前訪問的方式 訪問的具體頁面 mvc訪問的方式 訪問控制器下的...