|
原生查询的实现-》调用 Connection 类;
Connection 类的数据库原生操作的使用
1. query(sql语句字符串,[参数绑定]) : 读操作 ------>select
2. execute(sql语句字符串,[参数绑定]): 写操作------> insert update delete
备注【Connection类 实例通过入口类Db 静态自动调用,不用显示写出来】 终于可以贴代码了 憋死哥了- <?php
- namespace app\articles\controller;
- use think\Db;
- // 这里研究数据库的原生查询
- // 昨天是如何创建数据库与连接数据库
- class Dby
- {
- public function mv1()
- {
- // 其实就是代表DB类可以直接调用所有的查询方法
- // $a = Db::table('staff')->select();
- // dump($a);
-
-
- // 第一步:写出查询语句
- // $a = 'SELECT name,age,id,gongzi FROM staff WHERE gongzi<4000 // // 第二步:调用 query 方法
- // $req = Db::query($a);
- // // 改写上述数组,防止sql 注入 [这是用问好绑定的方式]
- // $sql = 'SELECT name,age,juese FROM staff WHERE gongzi<? // // 第一个参数与第一个 ? 对应 该参数是个数组
- // $req = Db::query($sql,[3000]);
- // 命名占位符防止 sql 注入 [ 尽量用这种方式 ]
- $sql ='SELECT name,age,juese FROM staff WHERE gongzi< :lma $req = Db::query($sql,['lma'=>5000,]);
- dump($req);
- }
- public function mv2()
- {
- return '进来了 }
- public function mv3()
- {
- // 更新操作 将id= 2 的 工资增加2万
- // $sql = 'UPDATE staff SET gongzi = gongzi + 20000 WHERE id=2 // // $req = Db::query($sql); 这里不用这个 而是用execute()
- // $req = Db::execute($sql);
-
- // 防SQL注入的 命名占位符 参数绑定方法
- $sql = 'UPDATE staff SET gongzi = gongzi + 20 WHERE id= :id // $req = Db::query($sql); 这里不用这个 而是用execute()
- $req = Db::execute($sql,['id'=>3]);
- dump($req);
- // 返回的结果是 int(1); 代指 受影响的记录条数 是一条
- }
- public function mv4()
- {
- // 插入操作,新增数据
- $sql = 'INSERT INTO staff (name,juese,gongzi) VALUES (:name,:juese,:gongzi) $req = Db::execute($sql,['name'=>'小强','juese'=>'技术主管','gongzi'=>'6900']);
- dump($req);
- }
- public function mv6()
- {
- // 删除操作
- $sql = 'DELETE FROM staff WHERE id=:id $req = Db::execute($sql,['id'=>5]);
- dump($req);
- }
- // 容我尝试下变量 [不知道是不是这样操作的 但是这样操作是可行的]
- // http://localhost/public/index.php/articles/dby/mv5/name/%E9%82%B5%E5%B7%A5/juese/%E7%A0%94%E5%8F%91%E7%BB%8F%E7%90%86/gongzi/46565
- public function mv5($name,$juese,$gongzi)
- {
- // 插入操作,新增数据
- $sql = 'INSERT INTO staff (name,juese,gongzi) VALUES (:name,:juese,:gongzi) $req = Db::execute($sql,['name'=>$name,'juese'=>$juese,'gongzi'=>$gongzi]);
- dump($req);
- }
- }
复制代码
|
|