學習yii2框架刪除資料庫操作的方法

2021-10-07 16:21:57 字數 2065 閱讀 7745

根據id刪除

deleteall() 刪除多個

$model

= user:

:find

($id);

$model

->

delete()

;

$connection

->

createcommand()

->

delete

('qipa250_user'

,'status = 0')-

>

execute()

;

$connection

->

createcommand

('delete from qipa250_user where userid=:userid')-

>

execute()

;

$model

=$connection

->

createcommand

('delete from qipa250_user where userid=:userid');

$model

->

bindparam

(':userid'

,$userid);

$userid=5

;$model

->

execute()

;

在 yii2 使用預處理語句刪除多個使用者。

$model

=$connection

->

createcommand

('delete from qipa250_user where userid=:userid');

$model

->

bindparam

(':userid'

,$userid);

// delete user 1

$userid=1

;$model

->

execute()

;// delete user 2

$userid=2

;$model

->

execute()

;

$user

= user:

:findone(2

);$user

->

delete()

;或者user:

:findone(2

)->

delete()

;// 輸出語句

// delete from `qipa250_user` where `id`='2'

如果你不指定任何條件下,該方法將刪除表中的所有行。例如刪除使用者表中狀態條件是 active 和年齡大於20的使用者。

user:

:deleteall

('status = :status and age > :age',[

':age'

=>20,

':status'

=>

'active'])

;//output query

//delete from `qipa250_user` where status = 'active' and age > 20

user:

:deleteall([

'and'

,'type = :type_id',[

'not in'

,'usercategoryid'

,$categorieslist]]

,[':type_id'

=>2]

);//output query

//delete from `qipa250_user` where (type = 2) and (`usercategoryid` not in (1, 2, 3))

基礎YII2資料庫操作

注意 為了保持精度,從資料庫中取出的資料都被表示為字串,即使相應的資料庫列型別數值。當建立從乙個帶引數的sql乙個db命令,你應該總是使用繫結引數的方法來防止sql注入攻擊。引數繫結是通過預處理語句來實現。除了防止sql注入攻擊,也可通過一次準備sql語句和多次使用不同的引數執行它提高效能 yii ...

yii2資料庫遷移

yii migrate create create test table 建立乙個資料庫遷移 yii migrate 提交所有的遷移 yii migrate m160623 034801 create test table 指定類名,提交乙個遷移 yii migrate down 還原最近一次遷移 ...

Yii2資料庫查詢有關的操作

注 下文所說的article為model 本文中的dd 函式,為我自己自定義的函式 function dd var 1 防止sql注入,用站位符的方式 id request get id sql select from article where id id r article findbysql ...