首页
学习
活动
专区
圈层
工具
发布

ThinkPhp学习_003查询更新删除

前面学习了 ThinkPhp学习_001下载与配置 ThinkPhp学习_002建立数据库并查询与插入数据 ThinkPhp学习_003查询更新删除 今天要学习:1.多条查询2.数据更新...更新数据表中的数据 Db::table('think_user') ->where('id', 1) ->update(['name' => 'thinkphp']); 如果数据中包含主键...0 如果要更新的数据需要使用SQL函数或者其它字段,可以使用下面的方式: Db::table('think_user') ->where('id', 1) ->update([ 'login_time...') ->where('id',1) ->setField('name', 'thinkphp'); setField 方法返回影响数据的条数,没修改任何数据字段返回 0 3.多条查询...运行 2.更新, 更新id=4的记录把name修改为郭襄 //更新操作,把id=4的数据进行修改 public function update() { return

1.9K10

ThinkPHP 框架SQL注入技术分析

简要描述 ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企 业应用开发而诞生的。...ThinkPHP从诞生的12年间一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码 的同时,也注重易用性。目前ThinkPHP框架是国内使用量最大的框架之一,国内用户量众多。...360企业安全集团代码卫士 团队已第一时间和ThinkPHP团队进行沟通修复,建议相关用户及时更新官方发布的新版本。.../39bb0fe6d50ee77e0779f646b10bce08c442a5e3 以下漏洞分析基于ThinkPHP V5.1.8(2018-04-05未更新版) 这里我们主要跟进分析执行update...empty($options['fetch_sql'])) { // 获取实际执行的SQL语句 return $this->getRealSql($sql, $bind);

1.1K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQL更新语句

    如果,你想更新数据库中其中某一条数据。那么你需要使用UPDATE语句。基本的UPDATE语句如下。 UPDATE SET 字段1=值1, 字段2=值2, .......; 例如,我们想更新students表id=12的记录的score和class_id这两个字段,先写出UPDATE students SET score=98, class_id = 4然后在WHERE...子句中写出需要更新的行的筛选条件id=12:WHERE id = 12; UPDATE students SET class_id=4,score=98 WHERE id = 12; ?...最后,要特别小心的是,UPDATE语句可以没有WHERE条件,例如: UPDATE students SET score=60; 这时,整个表的所有记录都会被更新。...所以,在执行UPDATE语句时要非常小心,最好先用SELECT语句来测试WHERE条件是否筛选出了期望的记录集,然后再用UPDATE更新。

    1.3K10

    ThinkPHP5 SQL注入漏洞 && PDO真伪预处理分析

    刚才先知分享了一个漏洞,文中说到这是一个信息泄露漏洞,但经过我的分析,除了泄露信息以外,这里其实是一个(鸡肋)SQL注入漏洞,似乎是一个不允许子查询的SQL注入点。 漏洞上下文如下: <?...但如果value是一个数组的情况下,这里会遍历value,并将k拼接进 也就是说,我们控制了预编译SQL语句中的键名,也就说我们控制了预编译的SQL语句,这理论上是一个SQL注入漏洞。...我们看看ThinkPHP5的默认配置: ... // PDO连接参数 protected $params = [ PDO::ATTR_CASE => PDO::CASE_NATURAL...所以,终上所述,我构造如下POC,即可利用报错注入,获取user()信息: http://localhost/thinkphp5/public/index.php?...我做了一个Vulhub的环境,大家可以自己测一测:https://github.com/phith0n/vulhub/tree/master/thinkphp/in-sqlinjection

    2.5K20

    thinkPHP升级到5.0.13导致update更新出错的问题

    而博主的程序初始版本还是在5.0.10的基础上搭建了,后面在博客发布的时候更新到了5.0.11。想着官方已经发布了5.0.13,已经跨版了,就折腾起来。...更新好以后就去点了几个页面,完全正常,添加了条测试信息也无误,也就直接更新到服务器上去了。 更新完成后,当我去写博客的更新日志的时候,问题来了,直接报错了个致命错误。...也就没多想,就去看了下builder.php的源码,114行的代码就是官方更新日志里面关于inc和dec关键字修复的问题。和5.0.12版本对比发现也只是多了个switch判断。...更新后的待写入字段 array(12){ ["aaa"]=>string(10) "aaa" ["bbb"]=>string(10) "bbb" ["xxx"] => string(46) "yyy"

    1.5K50

    SQL注入专项整理(持续更新中)

    深入了解SQL注入 什么是SQL注入?...SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询...常见注入手法分类: 基于从服务器接收到的响应 基于报错的SQL注入 联合查询注入 堆查询注入 SQL盲注 基于布尔SQL盲注 基于时间SQL盲注 基于报错SQL盲注 基于程度和顺序的注入...usename=1' or '1'='1&password=1' or '1'='1 回显flag 字符型注入和堆叠查询手法原理 堆叠注入原理 在SQL中,分号(;)是用来表示一条sql语句的结束...成功回显flag: 注意没有回显flag,就类似于你更新了个东西但是没刷新,重新在文本框里面输入1提交即可回显flag。

    96820
    领券