当前位置:首页 > CMS教程 > Thinkphp > 列表

ThinkPHP5.1框架数据库链接和增删改查操作示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-09 14:36:51 浏览: 评论:0 

本文实例讲述了ThinkPHP5.1框架数据库链接和增删改查操作,分享给大家供大家参考,具体如下:

一、数据库的链接方式

  1. <?php 
  2. namespace app\index\controller; 
  3. use think\Db; 
  4. class Demo 
  5. //1、全局配置 config/database.php配置 
  6. public function dbTest() 
  7. return Db::table('pzq_article'
  8. ->where('id','29'
  9. ->value('title'); 
  10. //2、动态配置 think\db\Query.php中有一个方法connect() 
  11. public function dbTest2() 
  12. return Db::connect([ 
  13. 'type'=>'mysql'
  14. 'hostname'=>'localhost'
  15. 'database'=>'top789'
  16. 'username'=>'root'
  17. 'password'=>'root'
  18. ]) 
  19. ->table('pzq_article'
  20. ->where('id','76'
  21. ->value('title'); 
  22. //3、DSN连接 
  23. public function dbTest3() 
  24. $dsn = 'mysql://root:root@localhost:3306/top789#utf8'
  25. return Db::connect($dsn
  26. ->table('pzq_article'
  27. ->where('id','88'
  28. ->value('title'); 
  29. //4、单条查旬 
  30. public function dbTest4() 
  31. $res = Db::table('pzq_article'
  32. ->field(['title'=>'标题','id'=>'编号'])//可添加别名 
  33. ->where('id','=',20)//如果是等号,=可以省略 
  34. ->find();//如果是主键查询,可省略上面where,这行写->find(20); 
  35. dump(is_null($res)?'没有查到':$res); 
  36. //5、多条查旬 
  37. public function dbTest5() 
  38. $res = Db::table('pzq_article'
  39. ->field(['id','cat_id','title']) 
  40. ->where([ 
  41. ['id','>',20], 
  42. ['cat_id','=',2], 
  43. ])//一个条件,直接用表达式->where('id','>',20)。多个条件用数组 
  44. ->order('id desc')->limit(3)->select(); 
  45. if(emptyempty($res)){ 
  46. return '没有查到'
  47. }else
  48. dump($res); 
  49. //6、数据添加 
  50. public function dbTest6() 
  51. $data = [ 
  52. 'name'=>'Sam2'
  53. 'age'=>'29'
  54. 'posttime'=>time() 
  55. ]; 
  56. $dataall=[ 
  57. ['name'=>'Sam3','age'=>'29','posttime'=>time()], 
  58. ['name'=>'Sam4','age'=>'30','posttime'=>time()], 
  59. ]; 
  60. //(1)单条插入 
  61. //return Db::table('test')->data($data)->insert(); 
  62. //(2)插入同时返回新增主键id 
  63. //return Db::table('test')->insertGetId($data); 
  64. //(3)插入多条数据 
  65. return Db::table('test')->data($dataall)->insertAll(); 
  66. //更新数据 
  67. public function dbTest7() 
  68. // return Db::table('test') 
  69. // ->where('id','=',4) 
  70. // ->update(['name'=>'SamC','age'=>'31']); 
  71. //如果where条件是主键,还可以如下使用 
  72. return Db::table('test'
  73. ->update(['name'=>'SamCheng','age'=>'30','id'=>4]); 
  74. //删除操作 
  75. public function dbTest8() 
  76. //return Db::table('test')->delete(6); 
  77. //或者 
  78. return Db::table('test')->where('id',5)->delete(); 
  79. //mysql原生语句 查询 
  80. public function dbTest9() 
  81. $sql = "select name,age from test where id>2"
  82. dump(Db::query($sql)); 
  83. //mysql 增、删、改 用Db::execute($sql) 
  84. public function dbTest10() 
  85. //$sql = "update test set name='samC' where id=4"; 
  86. //$sql = "insert test set name='Yan',age='30'"; 
  87. $sql = "delete from test where id=4"
  88. return Db::execute($sql); 
  89. }

Tags: ThinkPHP5 1数据库链接

分享到: