自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鱼火

江风鱼火对愁眠,我是鱼火,愿天下没有江风

  • 博客(19)
  • 收藏
  • 关注

原创 php最简单的注入与最简单的避免方式

这里模仿一个登陆,登陆注入。第一个页面是简单的不能再简单的用户名密码。第二个页面是判断是否有这个用户名,并返回。代码如下login.php<?php header("Content-type:text/html;charset=utf-8");?>用户名:密码: checkLoginAction.php<?php//$use

2015-08-14 19:28:28 490

原创 php设置cookie与取cookie的值

setcookie('username','zhaoyun', time()+60);这个cookie,一分钟内有效,后面那个time()+60,是从现在开始,往后查六十秒的意思。如果希望它有效时长一小时,就time()+60*60就好了。那么怎么得到cookie里的值呢?$_COOKIE['username'];用它。一般取cookie值的时候,先判断有无。有了再去取,没

2015-08-14 12:09:15 21584

原创 pdo设置和读取数据库连接属性

PDO对象有一个getAttribute()方法,成对儿的,还有一个setAttribute()方法。是需要传递参数的。比如我们想知道数据库是否是自动提交的,就这样写echo $pdo->getAttribute(PDO::ATTR_AUTOCOMMIT);默认是1,自动提交。如果我们想设置成不自动提交,就这样写$pdo->setAttribute(PDO::ATTR_AUTO

2015-08-13 20:46:25 773

原创 两种方式设定fetch()方法返回数据集格式(类型)setFetchMode

至于是格式还是类型,我还真形容不来了。总之,可以通过传递参数的形式,和setFetchMode()方法的形式两种形式来设置。代码如下<?php//query();执行一条sql语句,并返回一个statement对象header("Content-type:text/html;charset=utf-8"); try { $dsn='mysql:host=localhost

2015-08-13 20:25:41 2195

原创 php中fetchall()与fetch()的区别

fetch是取第一条数据出来,tetchall是取所有。以上!

2015-08-13 14:41:16 6948

原创 PDO对象之query()方法

php中一般用query($sql)方法,执行一条查询sql,返回查询结果到结果集中,然后通过循环遍历返回的数据集,把结果取出来。代码如下<?php//query();执行一条sql语句,并返回一个statement对象header("Content-type:text/html;charset=utf-8"); try { $dsn='mysql:host=localhos

2015-08-12 20:06:23 3657

原创 pdo对象查看错误码之errorCode()和errorInfo()

当PDO的对象执行exec()方法,传递的sql是一个错误的sql时候,返回值为false。通过对象的errorCode()或errorInfo()来取得错误嘛或者错误信息。第一个方法只返回一个错误嘛。第二个返回一个数组,包括错误码和错误信息。以上!

2015-08-12 19:50:54 1036

转载 HTTP协议详解(真的很经典)

转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspxAuthor :Jeffrey引言                                        HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与

2015-08-12 17:47:59 305

原创 温故知新--pdo之exec方法

PHP之前并不像Java那样,有一个接口可以同意规范实现多个数据库的扩展,自从PDO出现。PDO可以方便的实现php与数据库的链接。这里我们以mysql为例子。代码如下:<?php//exec();执行一条sql语句,并返回执行结果,其中select语句不执行header("Content-type: text/html; charset=utf-8");try { $

2015-08-12 12:13:11 2347

原创 沟通的一个小错误

今天犯了一个小错误。跟程序说需要他做一个一周内自动登陆的功能,在登陆框上面。他说好,就去做了。本来我以为他会做成类似CSDN登陆时候,有一个下次自动登录选框。可以勾选一下,就自动登陆了。或者做成类似知乎登陆页那样,有个记住我选框,勾选一下,就自动登陆了。(之前做过一个登陆框就是这样处理的)。甚至是我想要的,登陆框下边有一个一周内自动登陆选框,勾选一下,一周内就自动登陆了。直

2015-08-11 22:15:41 402

转载 MySQL数据库MyISAM和InnoDB存储引擎的比较

MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种。这里介绍关于这两种引擎的一些基本概念(非深入介绍)。MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索,但不是事务安全的,而且不支持外键。每张MyISAM表存放在三个文件中:frm 文件存放表格定义;数据文件是MYD (MYData);索引文件是MYI (MYIndex)。InnoDB是事务型引

2015-08-11 15:45:28 185

原创 not in与 id!=效率对比分析

not in的效率并不高,这个大家都知道,但还有比not in效率更不高的。今天查看慢查询记录文件,发现了一个神器的sql,具体写法就不说了,类似于这种:SELECT * from kills where id != '12323' and id != '13323' and id != '478732'当时我好奇心就来了,这种为毛不写成select * from kills wher

2015-08-11 10:31:44 6357

原创 当查询主键返回特定行的时候,用like还是等号

今天发现一个问题,以前从没有注意过的。就是当查询条件是id=某值的时候,用等号,不用like。因为等号速度非常之快,只有0.001S,而like则要执行0.123秒甚至更久。其中等号的时候,扫描了一行,用like,扫描了58万行之多,等于整表扫描了。同样,在有索引的非主键列上,用等号和用like对特定值进行查询,执行的效果竟然是同步的。然而,在联合索引(或者,也许这个主键重复率

2015-08-06 11:02:44 485

原创 mysql慢查询日志

mysql有个慢查询日志功能,可以让查询时间比较长的sql语句记录下来,针对性的对其进行优化。方法如下:首先你要有个mysql数据库。开个玩笑。首先你要确认你的mysql是否开起来慢查询日志。show variables like 'long%'; 执行它,你会看到返回的结果集中有一个slow_query_log ON/OFF上面最右那两个只会出现一个,ON代表开启,O

2015-08-03 14:08:56 289

原创 mysql对ip地址的处理方法

原来我存ip就用varchar,查询慢,浪费空间自从用了mysql的函数对ip处理,诶,字符串变数字了,查询快了还不占空间了,一口气查十万条数据啊,不喘气儿客观且看:首先是ip地址转数字select inet_aton('255.255.255.255');只需要把这行数字用mysql黑窗口试一试,效果立竿见影。有兴趣玩的话也可以试试其他的ip。然后是数字转

2015-08-03 08:54:59 541

原创 mysql实现唯一序列号

需要用到事务处理和存储过程。不具备这方面基础的,要看一眼。一眼就可以。delimiter //create procedure dede(in p_in int)begin declare v_cnt int;declare v_timestr int;declare rowcount bigint;set v_timestr = DATE_FORMAT(NOW(),'

2015-08-02 18:45:06 3269

原创 mysql一个超级简单的事务

mysql的事务,只针对特定类型的表。比如你写:create table `t`(id int auto_increment not null, primary key(id)) ;执行回滚,是不操作的。比如你再写:create table `t`(id int auto_increment not null, primary key(id)) type=INNODB;某些版本这个

2015-08-02 16:15:28 482

原创 mysql实现行转列的两个方式

两个方式,用任何一个都可以实现。1.用cross join的方式实现select * from (select sum(a.kills) '孙悟空' from kills1 as a LEFT JOIN tssrz as b on a.user_id = b.id WHERE b.user_name = '孙悟空' GROUP BY b.user_name)

2015-08-02 15:18:05 4363

原创 mysql添加索引的方法,及max()函数的优化

我有已kills表,里面有五十多万条数据,记录的是西游群英打怪的时间和数量。现在我想查单日打怪最多的记录是多少。我就写一个  select max(kills) from kills时间是多少呢?扫描了五十多万条记录后,这个数据就出来了,历时0.123S。这只是一个非常简单的查询,竟然耗时0.1秒还要多,简直不能忍。so,如果需要频繁读取这个数据,我们可以在这个字段上加个索引。CR

2015-08-01 17:16:41 3617

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除