- 博客(24)
- 收藏
- 关注
转载 MySQL之drop、truncate和delete的区别
(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。 TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。(2)表和索引所占空间。 当表被TRUNCATE 后,这个表和索引所占用...
2020-04-03 10:52:55
208
原创 PHP-CSRF原理和防御
CSRF的全名为Cross-site request forgery,它的中文名为跨站请求伪造,CSRF是一种夹持用户在已经登陆的web应用程序上执行非本意的操作的攻击方式。相比于XSS,CSRF是利用了系统对页面浏览器的信任,XSS则利用了系统对用户的信任。其实可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。原理:从上图能够看出,要完毕一次CSRF攻击,受...
2020-02-25 11:29:00
653
原创 PHP-防止SQL注入
一、什么是SQL注入攻击?所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。其实,我们可以简单的理解SQ...
2020-02-25 10:39:05
296
原创 PHP的XSS防御
XSS又称CSS,全称Cross SiteScript(跨站脚本攻击), XSS攻击类似于SQL注入攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如盗取用户Cookie信息、破坏页面结构、重定向到其它网站等。理...
2020-02-25 10:29:15
402
转载 MySQL慢查询优化
1、日期大小的比较,传到xml中的日期格式要符合'yyyy-MM-dd',这样才能走索引,如:'yyyy'改为'yyyy-MM-dd','yyyy-MM'改为'yyyy-MM-dd'【这样MYSQL会转换为日期类型】2、条件语句中无论是等于、还是大于小于,WHERE左侧的条件查询字段不要使用函数或表达式或数学运算3、WHERE条件语句尝试着调整字段的顺序提升查询速度,如把索引字段放在最前面...
2020-02-24 15:08:10
211
原创 radio单选按钮实现男、女性别只能选择一个
http://www.newphper.com/post/385.htmlHTML中的radio单选按钮实现男女性别选择,普遍逻辑肯定是只能选择其中一个,要实现这个功能可以在<input>标签里加一个name属性,并设置name属性值相同即可!例如:<input name="sex" type="radio" checked="checked"/>男 ...
2019-09-05 10:34:56
137132
2
原创 MySQL复合索引个人理解
MySQL的复合索引有一个最左匹配原则,举例说明:创建数据表如下:添加测试数据:创建复合索引,包含a,b,c三个字段,并查看索引性信息<1> 使用a,b,c作为where查询条件,explain查看执行计划:使用了索引<2> 使用a,c作为where查询条件,explain查看执行计划:使用了索引<3>使用a作为wh...
2019-08-14 20:45:07
496
转载 正则表达式学习笔记
正则字符简单介绍1、元字符介绍 "^":^会匹配行或者字符串的起始位置,有时还会匹配整个文档的起始位置。 "$":$会匹配行或字符串的结尾 如图 而且被匹配的字符必须是以This开头有空格也不行,必须以Regex结尾,也不能有空格与其它字符 "\b":不会消耗任何字符只匹配一个位置,常用于匹配单词边界 如 我想从字...
2019-08-04 19:05:25
136
原创 MySQL的内连接,左连接,右连接个人讲解
建两张表:students学生表和subject分数表学生表:成绩表:两表的关联字段为students的name和subject的sname内连接(inner join)查询:SELECT t.*,b.sgrade,b.subject FROM `students` t(inner) join `subject` b on t.name = b.sname;//inn...
2019-07-22 16:16:39
276
原创 商品砍价之我见——浅显的分析砍价逻辑
工作中接触到了商品砍价业务,也查询了一些资料了解砍价算法或者逻辑。公司用到的砍价算法是公司开发人员自己写的,其实原理都是大同小异。砍价逻辑用户发起砍价,然后分享给其他人让其帮砍,其他用户帮砍前提是已注册平台账号或者微信授权登录(其实这也无形之中增加了会员数),已帮砍的用户不能再次帮砍,发起砍价的用户自己不能帮自己砍。说明:1⃣️用户每天的发起砍价次数和帮砍次数是有限制的,这样是防止羊...
2019-05-08 14:59:13
4505
2
原创 laravel的orderby排序问题
详细原文地址链接:http://www.newphper.com/在工作中写APP接口,有一个需求是:分页查询所有涨幅为0的都放最后面,其他数据按要求进行降序或升序排序,在原生的MySQL语句中,可以这么写:order by 字段A=0,字段A; 而在laravel框架中是不予许你这么写的:...->orderBy('quotation_types_id=...
2018-09-05 12:17:00
20416
原创 PHP中&&与||的含义和用法
详细原文地址链接:http://www.newphper.com/post/383.htmlPHP中包含逻辑运算&&和||,这两组符号的含义是:&& ——> 与,和;如A和B都满足条件才能执行某一结果| | ——> 或;如A或者B至少有一个满足条件才能执行某一结果具体的代码应用:<?php $a=1;$b=0;if ...
2018-07-18 14:24:14
15132
原创 laravel学习记录——如何判断查询结果为空
在工作时,涉及到一个需求是:当用户没有代理商时就往关联表中插入一条;如果用户有代理商就相应的更新关联表中该用户的代理商信息。所以这里我的功能逻辑就是:通过用户id去关联表中先查询,判断查询结果,是否为空。我尝试了“!$result”,“empty($result)”,“is_null($result)”,“$result==null”等判断,但是无论结果是否存在,都会判断为存在,后来查看手册得...
2018-07-04 09:38:29
2698
3
原创 利用PHPExcel上传Excel表格出现的“ZipArchive::getFromName(): Invalid or uninitialized Zip object”错误解决方法之一
原文详细地址:http://www.newphper.com/post/384.html我在使用thinkPHP5.X整合PHPExcel进行Excel表格上传时出现了错误:ZipArchive::getFromName(): Invalid or uninitialized Zip object。Excel表格分为.xls和.xlsx两种格式,后来经过查资料和实际测试,发现PHPEx...
2018-05-24 17:42:16
12201
1
转载 地区的省市区联动数据样例
/**********************************创建省级表********************************/CREATE TABLE T_Province( ProID INT IDENTITY(1,1) PRIMARY KEY, --省份主键 ProName NVARCHAR(50) NOT NULL, --省份名称 ProSort I...
2018-05-18 13:32:14
1156
原创 PHP如何实现删除购车中商品
PHP中加入购物车信息是放在session里的,删除购物车中商品其实本质就是删除session里是的数组元素<?phpsession_start();$gid = $_GET["goods_id"]; //通过get获得要删除的商品id $car = $_SESSION["car"]; //根据索引找到该数据$arr[$gid]; //要删除的数据 if($arr[$g...
2018-05-18 10:20:49
1125
原创 js实现在一个input框输入时另一个input同步显示
在我做的一个项目中有一个功能需求是: 当输入美元价格时,另一个输入框内同步显示相应的人民币价格。<dl> <dt>单 价(USD):</dt> <dd> <input type="text" id="USD" name="USD" value="" onchange=&qu
2018-04-30 13:47:59
17124
原创 ThinkPHP在前台模板格式化输出时间
在thinkPHP3.X和thinkPHP5.X中将时间戳格式化并在前台模板输出方法:{$time|date="y-m-d",###} => 2013-10-01{$time|date="Y年m月d日",###} => 2013年10月01日{$time|date="Y-m-d H:i",###} => 2013-10-01...
2018-04-30 11:03:54
10534
1
原创 连接数据库操作的步骤是什么?每一步的返回值是什么数据类型?
1) 连接数据库服务器:mysql_connect('数据库服务器的主机名或ip','数据库服务器的用户名','数据库服务器的密码');2) 选择数据库:mysql_select_db(数据库名);3) 设置从数据库提取数据的字符集:mysql_query("setnames utf8");4) 执行sql语句:mysql_que...
2018-02-13 19:47:30
1474
原创 如何理解OOP?
OOP(object oriented programming),即面向对象编程,其中两个最重要的概念就是类和对象。世间万物都具有自身的属性和方法,通过这些属性和方法可以区分出不同的物质。属性和方法的集合就形成了类,类是面向对象编程的核心和基础,通过类就将零散的用于实现某个功能的代码有效地管理起来了。类只是具备了某些功能和属性的抽象模型,而实际应用中需要一个一个实体,也就是需要对类进行...
2018-02-13 19:43:43
628
原创 session与cookie有什么区别?
cookie是保存在客户端机器的,对于未设置过期时间的cookie,cookie值会保存在机器的内存中,只要关闭浏览器则cookie自动消失。如果设置了cookie的过期时间,那么浏览器会把cookie以文本文件的形式保存到硬盘中,当再次打开浏览器时cookie值依然有效。session是把用户需要存储的信息保存在服务器端。每个用户的session信息就像是键值对一样存储在服务器端,其中的键就...
2018-02-13 19:40:57
313
原创 表单提交中的get与post提交方式的区别
get是把参数数据队列加到提交表单的action属性所指的url中,值和表单内各个字段一一对应,从url中可以看到;post是通过HTTPPOST机制,将表单内各个字段与其内容防止在HTML的head中一起传送到action属性所指的url地址,用户看不到这个过程。 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.F...
2018-02-13 19:33:29
1103
原创 单引号和双引号的区别
原文地址:点击这里双引号解释变量,单引号不解释变量双引号里插入单引号,其中单引号里如果有变量的话,变量解释双引号的变量名后面必须要有一个非数字、字母、下划线的特殊字符,或者用讲变量括起来,否则会将变量名后面的部分当做一个整体,引起语法错误双引号解释转义字符,单引号不解释转义字符,但是解释'\和\\能使单引号字符尽量使用单引号,单引号的效率比双引号要高(因为双引号要先遍历一遍,判...
2018-02-13 19:27:53
4436
原创 rel=stylesheet的意思
原文链接:点击这里通常出现在link标签里。“rel”是relationship的英文缩写,它描述了当前页面与href所指定文档的关系; “stylesheet”中style是样式的意思,sheet是表格之意,连起来就是样式表的意思;中style是样式的意思,sheet是表格之意,连起来就是样式表的意思; rel="stylesheet"就是声明此文件为样式表文件,...
2018-01-21 20:24:07
11638
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人