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


Posted in PHP onAugust 03, 2019

本文实例讲述了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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
ASP和PHP都是可以删除自身的
Apr 09 PHP
PHP自定义函数收代码
Aug 01 PHP
PHP语言中global和$GLOBALS[]的分析 之二
Feb 02 PHP
PHP中array_merge和array相加的区别分析
Jun 17 PHP
PHP技术开发微信公众平台
Jul 22 PHP
php中switch语句用法详解
Aug 17 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
Aug 23 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 PHP
laravel5实现微信第三方登录功能
Dec 06 PHP
PHP接入微信H5支付的方法示例
Oct 28 PHP
php获取是星期几的的一些常用姿势
Dec 15 PHP
laravel添加角色和模糊搜索功能的实现代码
Jun 22 PHP
ThinkPHP5&amp;5.1框架关联模型分页操作示例
Aug 03 #PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
Aug 03 #PHP
thinkPHP5.1框架中Request类四种调用方式示例
Aug 03 #PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
Aug 02 #PHP
php抽象类和接口知识点整理总结
Aug 02 #PHP
使用composer 安装 laravel框架的方法图文详解
Aug 02 #PHP
php菜单/评论数据递归分级算法的实现方法
Aug 01 #PHP
You might like
解析MySql与Java的时间类型
2013/06/22 PHP
php定时执行任务设置详解
2015/02/06 PHP
php将字符串转换成16进制的方法
2015/03/17 PHP
用php代码限制国内IP访问我们网站
2015/09/26 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
php实现单笔转账到支付宝功能
2018/10/09 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
2019/10/13 PHP
Nginx+php配置文件及原理解析
2020/12/09 PHP
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
理解Javascript_06_理解对象的创建过程
2010/10/15 Javascript
jQuery创建插件的代码分析
2011/04/14 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
2016/04/17 Javascript
微信支付 JS API支付接口详解
2016/07/11 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
js输入框使用正则表达式校验输入内容的实例
2017/02/12 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
2018/01/09 jQuery
Javascript三种字符串连接方式及性能比较
2019/05/28 Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
2019/06/21 Javascript
只有 20 行的 JavaScript 模板引擎实例详解
2020/05/11 Javascript
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
Python subprocess模块常见用法分析
2018/06/12 Python
Python 调用PIL库失败的解决方法
2019/01/08 Python
python multiprocessing多进程变量共享与加锁的实现
2019/10/02 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
2020/11/28 Python
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
介绍一下linux文件系统分配策略
2012/11/17 面试题
北大自主招生自荐信
2013/10/19 职场文书
创建绿色学校先进个人材料
2014/08/20 职场文书
专升本学生毕业自我鉴定
2014/10/04 职场文书
《我的长生果》教学反思
2016/02/20 职场文书
2016大学生诚信考试承诺书
2016/03/25 职场文书