tp5 database.php,thinkphp5学习笔记(五)数据库与模型

本文详细介绍了ThinkPHP5中数据库的连接配置、原生查询与查询构造器的使用,包括静态与动态配置、数据库连接实例的创建、查询与更新操作。此外,还探讨了查询构造器的链式操作原理,以及模型的概念、创建与调用方法,强调了模型在业务逻辑处理中的重要性。最后,讲解了模型的读取器、修改器以及类型转换的高级操作,提供了解决日期时间字段和数据类型转换的有效策略。
摘要由CSDN通过智能技术生成

连接与查询构造器

2ea160353d3c

数据库操作运行流程图.png

1.数据库操作运行流程图

* ThinkPHP5的数据库操作对底层进行优化设计,对各种操作进行高级封装,

既可以直接使用连接器进行高效的原生查询,也可以使用封装好的查询构造器进行

只管便捷的查询。

数据库连接配置

1.配置方法:

* 静态连接:应用/模块中的数据库配置文件database.php

* 动态连接:入口类Db.php中的connect(参数[数组或字符串])方法

* 静态配置重要参数

-> debug True 数据库调试模式

* 动态配置连接字符串

-> mysql://root:1234@localhost:3306/thinkphp#utf8

-> 数据库://用户名:密码@数据库地址:数据库端口/数据库名#字符集

* 动态配置数组方式

eg: public function demo()

{

$config = [

'type'=>'mysql',

'hostname'=>'localhost',

'username'=>'root',

'password'=>'root',

'database'=>'tp5',

];

//1.获取数据库的连接实例/对象

$link = Db::connect($config);

//2.用连接实例调用查询类的查询方法

$res = $link->table('staff')->select();

//3.输出查询结果

dump($res);

//Db::table('staff')->select();

}

2.数据库的第一步就是数据库的链接,TP5提供了强大灵活的连接方式,

特别是惰性连接支持,极大的提高了连接效率(db()助手函数不支持),

使用户的关注重点放在业务逻辑上,不必担心连接问题。

数据库原生查询

1.原生查询的实现

* Connection类

->query(sql语句字符串,[参数绑定]):读操作 select

->execute(sql语句字符串,[参数绑定]):写操作 insert、update、delete

2.thinkphp > library > think > db > Connection.php

* 查询操作:

->普通操作

eg: $sql = "select * from staff salary > 4000";

$result = Db::query($sql);

dump($result);

->参数绑定查询,可以防止sql注入

eg: $sql = "select * from staff where salary > ?";

$result = Db::query($sql,[4000]);

dump($result);

->命名占位符绑定(推荐使用)

eg: $sql = "select * from staff where salary > :salary";

$result = Db::query($sql,['salary'=>4000]);

dump($result);

* 其他操作

-> 更新操作

eg: $sql = "update staff set salary = salary+1000 where id=:id";

$res = Db::execute($sql,['id'=>1004]);

dump($res);

->插入操作

eg: $sql = "insert into staff (name,sex,age) values(:name,:sex,:age)";

$res = Db::execute($sql,['name'=>'thinkphp5','name'=>'1','age'=>10]);

dump($res);

->删除操作

eg: $sql = "delete from staff where id=:id";

$res = Db::execute($sq,['id'=>10]);

dump($res);

* Connection类实例通过入口类Db静态自动调用,不用显示写出

* 利用查询构造器进行增删改查操作,最终仍是调用连接类Connection对应方法完成。

查询构造器

1.查询构造器的原理:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值