PHP的func_get_args()函数.

你可能知道PHP允许你定义一个默认参数的函数。但你可能并不知道PHP还允许你定义一个完全任意的参数的函数
下面是一个示例向你展示了默认参数的函数:

Continue reading...

MySql避免重复插入记录

方案一:使用ignore关键字

如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用:

insert ignore into table_name(email,phone,user_id) values('test9@163.com','99999','9999'),这样当有重复记

录就会忽略,执行后返回数字0,还有个应用就是复制表,避免重复记录:

insert ignore into table(name) select name from table2

方案二:使用Replace

replace的语法格式为:

1. replace into table_name(col_name, ...) values(...)

2. replace into table_name(col_name, ...) select ...

3. replace into table_name set col_name=value, ...

Continue reading...

MySQL使用instr函数模糊查询

一般SQL中模糊查询使用like,今天看到一个MySQL使用instr函数模糊查询的方法:

查询table表中用户名包含Cyrec的记录:

SELECT * FROM table WHERE 1 = instr(`username`,'Cyrec');

等价于SELECT * FROM table WHERE `username` like '%Cyrec%';

(PS:instr这个MySQL函数返回username字段中包含Cyrec的位置,如果没找到返回0;)

使用like类似‘%xxx%’ 双向模糊匹配是无法使用索引的,要进行全表扫描('xxx%'这样满足最左前缀匹配可以使用索

引效率很高).网上说有大量记录的时候instr函数效率比用like('%xxx%')高,于是自己在本地试了下,执行时间差不

多用explain看到两种方式都是进行全表扫描(type=ALL),预计扫描的rows也一样,然后在status中看到执行计划预

测的last_query_cost也是一样。不知道到底哪个好,以后遇到模糊查询的时间再试下,不过这条SQL语句的思路

挺好的。

Continue reading...

CentOS无法停止apache的问题

可以借助apache的apachectl

apachectl stop	
apachectl start	

Continue reading...

php循环输出英文字母(英文字母遍历)

  1. <?php   
  2. $i = 'a';   
  3. for ($n=0; $n<100; $n++) {   
  4.     echo $i++ . "\n";   
  5. }   
  6. ?>   

Continue reading...



about me

  • 陶之11's Blog Name:陶之11 OICQ:14779023 Site:Pao11.com

分类

快捷入口