> 官网手册 https://www.kancloud.cn/manual/thinkphp5_1/354001 ## 官方推荐写法如下 1、`insert`方法添加数据成功返回添加成功的条数,通常情况返回 1 ~~~ $data = ['foo' => 'bar', 'bar' => 'foo']; Db::name('user')->insert($data); ~~~ 2、`insertGetId`返回新增数据的自增主键 ~~~ $data = ['foo' => 'bar', 'bar' => 'foo']; $userId = Db::name('user')->insertGetId($data); ~~~ > 注意官方写法需要引入命名空间 ~~~ use think\Db; ~~~ 3、使用助手函数 `db`,我习惯这样来写,直接返回增加的自增主键 ~~~ $id = db('link')->insertGetId($data); ~~~ 4、添加多条数据(一般不常用) ~~~ $data = [ ['foo' => 'bar', 'bar' => 'foo'], ['foo' => 'bar1', 'bar' => 'foo1'], ['foo' => 'bar2', 'bar' => 'foo2'] ]; Db::name('user')->insertAll($data); ~~~ ## 添加数据完整示例 添加数据页面一般由两部分组成,一部分用于展示要添加的表单字段,一部分用于处理添加的逻辑并返回结果。以下代码为直接在控制器中进行逻辑处理的方式,虽不建议如此写,但却是学习ThinkPHP最快的方式。 ~~~ //添加 public function add(){ if(request()->isPost()){ //判断是否POST提交 //获取所有提交的数据 $data=input('post.'); //排除id和name变量 //$data = Request::except('id,name'); $id = db('link')->insertGetId($data); if($id){ $this->success('添加成功!','index'); }else{ $this->error('添加失败!'); } }else{ return view(); } } ~~~