ThinkPHP5.1框架数据库链接和增删改查操作示例
编程学习 2021-07-04 23:05www.dzhlxh.cn编程入门
这篇文章主要介绍了ThinkPHP5.1框架数据库链接和增删改查操作,结合实例形式分析了thinkPHP5.1框架数据库连接的常用方式与针对数据库增删改查操作相关实现技巧,需要的朋友可以参考下
本文实例讲述了ThinkPHP5.1框架数据库链接和增删改查操作。分享给大家供大家参考,具体如下:
一、数据库的链接方式
<?php namespace app\index\controller; use think\Db; class Demo { //1、全局配置 config/database.php配置 public function dbTest() { return Db::table('pzq_article') ->where('id','29') ->value('title'); } //2、动态配置 think\db\Query.php中有一个方法connect() public function dbTest2() { return Db::connect([ 'type'=>'mysql', 'hostname'=>'localhost', 'database'=>'top789', 'username'=>'root', 'password'=>'root', ]) ->table('pzq_article') ->where('id','76') ->value('title'); } //3、DSN连接 public function dbTest3() { $dsn = 'mysql://root:root@localhost:3306/top789#utf8'; return Db::connect($dsn) ->table('pzq_article') ->where('id','88') ->value('title'); } //4、单条查旬 public function dbTest4() { $res = Db::table('pzq_article') ->field(['title'=>'标题','id'=>'编号'])//可添加别名 ->where('id','=',20)//如果是等号,=可以省略 ->find();//如果是主键查询,可省略上面where,这行写->find(20); dump(is_null($res)?'没有查到':$res); } //5、多条查旬 public function dbTest5() { $res = Db::table('pzq_article') ->field(['id','cat_id','title']) ->where([ ['id','>',20], ['cat_id','=',2], ])//一个条件,直接用表达式->where('id','>',20)。多个条件用数组 ->order('id desc')->limit(3)->select(); if(empty($res)){ return '没有查到'; }else{ dump($res); } } //6、数据添加 public function dbTest6() { $data = [ 'name'=>'Sam2', 'age'=>'29', 'posttime'=>time() ]; $dataall=[ ['name'=>'Sam3','age'=>'29','posttime'=>time()], ['name'=>'Sam4','age'=>'30','posttime'=>time()], ]; //(1)单条插入 //return Db::table('test')->data($data)->insert(); //(2)插入同时返回新增主键id //return Db::table('test')->insertGetId($data); //(3)插入多条数据 return Db::table('test')->data($dataall)->insertAll(); } //更新数据 public function dbTest7() { // return Db::table('test') // ->where('id','=',4) // ->update(['name'=>'SamC','age'=>'31']); //如果where条件是主键,还可以如下使用 return Db::table('test') ->update(['name'=>'SamCheng','age'=>'30','id'=>4]); } //删除操作 public function dbTest8() { //return Db::table('test')->delete(6); //或者 return Db::table('test')->where('id',5)->delete(); } //mysql原生语句 查询 public function dbTest9() { $sql = "select name,age from test where id>2"; dump(Db::query($sql)); } //mysql 增、删、改 用Db::execute($sql) public function dbTest10() { //$sql = "update test set name='samC' where id=4"; //$sql = "insert test set name='Yan',age='30'"; $sql = "delete from test where id=4"; return Db::execute($sql); } }
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》及《》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。