數據庫增刪改查
(不建議使用原生sql方式):
增加 :Db::execute('insert into table_name values (null,'name')
: Db::execute('insert into table_name values (null,?)',['thinkphp']);
: Db::execute('insert into table_name values (null, :name)',['thinkphp']);
$data = ['foo' => 'bar', 'bar' => 'foo'];
Db::table('think_user')->insert($data);
刪除: Db::execute('delete from table_name where 條件);
// 條件刪除
Db::table('think_user')->where('id',1)->delete();
更改:Db::execute('update table_name set 列名=新值 where 條件); Db::table('think_user')->where('id', 1)->update(['name' => 'thinkphp']);
多條件查詢db("users")->where('uname','useradmin')->where('password','123')->select();||SELECT * FROM `users` WHERE `uname` = 'useradmin' AND `password` = '123'查詢:Db::execute('select * from table_name where 條件);多值查詢: Db::table('think_user')->field('id,title,content')->select();
排除查詢:(除了。。的字段) :Db::table('think_user')->field(['user_id','content'],true)->select();
Db::table('users')->field('uname',true)->select();
||
SELECT `uid`,`password`,`gender`,`birthday`,`pic`,`email` FROM `users`
分頁查詢:用於記錄分頁查詢是limit方法比較常用的場合,例如:
Db::table('think_article')->limit('10,25')->select();
表示查詢文章數據,從第10行開始的25條數據
// 查詢第一頁數據
Db::table('think_article')->page('1,10')->select();
// 查詢第二頁數據
Db::table('think_article')->page('2,10')->select();
PS:查看上一句數據庫操作:echo Db::name("表名")->getLastSql();
field方法還有一個非常重要的安全功能--字段合法性檢測。
Db::table('think_user')->field('title,email,content')->insert($data);
即表示表單中的合法字段只有title,email和content字段,無論用戶通過什麼手段更改或者添加了瀏覽器的提交字段,都會直接屏蔽。