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 相关文章推荐
一道关于php变量引用的面试题
Aug 08 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
May 07 PHP
PHP APC配置文件2套和参数详解
Jun 11 PHP
yii实现创建验证码实例解析
Jul 31 PHP
使用ob系列函数实现PHP网站页面静态化
Aug 13 PHP
destoon出现验证码不显示时的紧急处理方法
Aug 22 PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 PHP
PHP+Ajax实时自动检测是否联网的方法
Jul 01 PHP
ThinkPHP开发框架函数详解:C方法
Aug 14 PHP
PHP实现Unicode编码相互转换的方法示例
Nov 17 PHP
PHP实现Redis单据锁以及防止并发重复写入
Apr 10 PHP
laravel 事件/监听器实例代码
Apr 12 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 socket并借助telnet实现简单的聊天程序
2013/06/18 PHP
Laravel 5框架学习之用户认证
2015/04/09 PHP
Yii2针对指定url的生成及图片等的引入方法小结
2016/07/18 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
jQuery TextBox自动完成条
2009/07/22 Javascript
js判断60秒以及倒计时示例代码
2014/01/24 Javascript
javascript写的异步加载js文件函数(支持数组传参)
2014/06/07 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
jQuery实现带渐显效果的人物多级关系图代码
2015/10/16 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
javaScript日期工具类DateUtils详解
2017/12/08 Javascript
jquery轻量级数字动画插件countUp.js使用详解
2019/10/17 jQuery
vue 实现购物车总价计算
2019/11/06 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
python中stdout输出不缓存的设置方法
2014/05/29 Python
跟老齐学Python之让人欢喜让人忧的迭代
2014/10/02 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
python datetime中strptime用法详解
2019/08/29 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
python如何导入依赖包
2020/07/13 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
HTML5的Geolocation地理位置定位API使用教程
2016/05/12 HTML / CSS
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
Monnier Freres中文官网:法国领先的奢侈品配饰在线零售商
2017/11/01 全球购物
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
巴西化妆品商店:Lojas Rede
2019/07/26 全球购物
领导干部失职检讨书
2015/05/05 职场文书
党章学习心得体会2016
2016/01/14 职场文书
Mysql服务添加 iptables防火墙策略的方案
2021/04/29 MySQL
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技