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

Tags: ThinkPHP5 1数据库链接

分享到: