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 相关文章推荐
模仿OSO的论坛(五)
Oct 09 PHP
phpMyAdmin2.11.6安装配置方法
Aug 24 PHP
对squid中refresh_pattern的一些理解和建议
Apr 17 PHP
zend Framework中的Layout(模块化得布局)详解
Jun 28 PHP
测试php连接mysql是否成功的代码分享
Jan 24 PHP
关于PHP的curl开启问题探讨
Apr 08 PHP
PHP获取网页标题的3种实现方法代码实例
Apr 11 PHP
php+js实现异步图片上传实例分享
Jun 02 PHP
php array_udiff_assoc 计算两个数组的差集实例
Nov 12 PHP
php pdo操作数据库示例
Mar 10 PHP
php实现保存周期为1天的购物车类
Jul 07 PHP
PHP基于SimpleXML生成和解析xml的方法示例
Jul 17 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
用PHP实现验证码功能
2006/10/09 PHP
php小型企业库存管理系统的设计与实现代码
2011/05/16 PHP
一个实用的php验证码类
2017/07/06 PHP
jQuery 在光标定位的地方插入文字的插件
2012/05/10 Javascript
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
jquery实现上下左右滑动的方法
2015/02/09 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
2015/06/23 Javascript
深入浅析react native es6语法
2015/12/09 Javascript
nodejs个人博客开发第五步 分配数据
2017/04/12 NodeJs
详解VUE 定义全局变量的几种实现方式
2017/06/01 Javascript
微信小程序商品到详情的实现
2017/06/27 Javascript
jQuery中.attr()和.data()的区别分析
2017/09/03 jQuery
vue左右侧联动滚动的实现代码
2018/06/06 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
vue侧边栏动态生成下级菜单的方法
2018/09/07 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
微信小程序npm引入vant-weapp的踩坑记录
2019/08/01 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
javascript实现拖拽碰撞检测
2020/03/12 Javascript
python中while循环语句用法简单实例
2015/05/07 Python
Python2.7 实现引入自己写的类方法
2018/04/29 Python
python删除本地夹里重复文件的方法
2020/11/19 Python
python中文编码与json中文输出问题详解
2018/08/24 Python
解决python "No module named pip" 的问题
2018/10/13 Python
网易2016研发工程师编程题 奖学金(python)
2019/06/19 Python
python中利用matplotlib读取灰度图的例子
2019/12/07 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
DELPHI面试题研发笔试试卷
2015/11/08 面试题
部队万能检讨书
2014/02/20 职场文书
给市场的环保建议书
2014/05/14 职场文书
2014年后勤工作总结
2014/11/18 职场文书
高老头读书笔记
2015/06/30 职场文书
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技
Java 通过手写分布式雪花SnowFlake生成ID方法详解
2022/04/07 Java/Android
关于Redis的主从复制及哨兵问题
2022/06/16 Redis