MYSQL中删除重复记录的方法
[ 2013-08-02 10:37:49 | 作者: admin ]
应用中有时候会有 删除表中重复记录的需求,现在在这里举个例子,分享下我的解决方案,如有不完善的地方,喜欢大家能留言给我,大家一起进步。
例子:
CREATE TABLE `users` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` char(50) NOT NULL,
PRIMARY KEY (`id`)
)
表中name字段存在重复,解决思路首先是如何找到重复的记录然...
阅读全文…
例子:
CREATE TABLE `users` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` char(50) NOT NULL,
PRIMARY KEY (`id`)
)
表中name字段存在重复,解决思路首先是如何找到重复的记录然...
阅读全文…
HTTP_HOST 和 SERVER_NAME 的区别
[ 2013-07-29 09:18:36 | 作者: admin ]
PHP的SERVER保留变量中HTTP_HOST 和 SERVER_NAME经常是一样的,原因是服务器端口是80,那么HTTP_HOST将省略不显示,而HTTP服务的默认端口就是80,所以大多数情况下,HTTP_HOST都没有显示这个端口号。而如果使用的是ssl链接,那么端口号将被显示出来。
所以HTTP_HOST = SERVER_NAME:SERVER_PORT
所以HTTP_HOST = SERVER_NAME:SERVER_PORT
pw8.x系列qq互联qq登陆的解决方法
[ 2013-07-27 14:04:07 | 作者: admin ]
文章来源:http://www.phpwind.net/read/3067459/1
本功能是使用qq互联(http://connect.qq.com)让论坛会员可以快捷登陆论坛。此接口使用的是oauth2.0
如果原来使用pw云平台账号通并且正常的话,请不要使用这个方法,这个方法是针对pw云平台账号通使用不正常的一部分用户!原则上支持pw的所有版本,当然9.0的话有现成的应用不需要装这个了。
本人测试可以正常注册,登陆,且不影响其他功能,需要在模板文件的头部加上一句话,具体修改如下:
1、qqconnect下载解压后放到hack目录下进后台插件中安装
2、hack/qqconnect设置777权限,后台hack里面设置申请好openid
3、修改文件
template/风格名/header_login.htm
找到,注意,怎么找到这行代码自己想代码,不支持三行复制一起查找的。
...
阅读全文…
本功能是使用qq互联(http://connect.qq.com)让论坛会员可以快捷登陆论坛。此接口使用的是oauth2.0
如果原来使用pw云平台账号通并且正常的话,请不要使用这个方法,这个方法是针对pw云平台账号通使用不正常的一部分用户!原则上支持pw的所有版本,当然9.0的话有现成的应用不需要装这个了。
本人测试可以正常注册,登陆,且不影响其他功能,需要在模板文件的头部加上一句话,具体修改如下:
1、qqconnect下载解压后放到hack目录下进后台插件中安装
2、hack/qqconnect设置777权限,后台hack里面设置申请好openid
3、修改文件
template/风格名/header_login.htm
找到,注意,怎么找到这行代码自己想代码,不支持三行复制一起查找的。
...
阅读全文…
mysql创建支持UTF-8编码和GBK编码的数据库
[ 2013-07-18 17:36:26 | 作者: admin ]
在创建mysql数据库的时候如何支持UTF-8编码
1、用工具
CHARSET 选择 utf8
COLLATION 选择 utf8_general_ci
2、用SQL语句
GBK:
UTF-8:
1、用工具
CHARSET 选择 utf8
COLLATION 选择 utf8_general_ci
2、用SQL语句
GBK:
CREATE DATABASE `test1` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
UTF-8:
CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Apache Rewrite和 isapi_ReWrite 解决问号匹配的写法
[ 2013-07-18 13:31:16 | 作者: admin ]
p.s. 这是因为 url 里面 ? 后面的不被 apache 认为是 requested uri 的内容,所以怎么写都无法取得。
建议修改 url 格式:比如把 ? 去掉;或者改变获取方式:
比如改成 RewriteRule /?(.*)$ /reg.php?id=$1&%{QUERY_STRING}
查看 rewrite log 相信可以看出解决方案
需求是这样的:
A地址:域名/ProductView.jsp?lClassID=200
B地址:域名/goods.php?id=3
实现把用户输A地址跳到B地址,就是跳转的功能。
原先用我用最常的方法实现如:RewriteRule ^ProductView.jsp?lClassID=200$ goods.php?id=3 [L]
看上去是没有问题的,但在地址上输入跳转不了。后来网上查了一下资料如下:
规则:
...
阅读全文…
建议修改 url 格式:比如把 ? 去掉;或者改变获取方式:
比如改成 RewriteRule /?(.*)$ /reg.php?id=$1&%{QUERY_STRING}
查看 rewrite log 相信可以看出解决方案
需求是这样的:
A地址:域名/ProductView.jsp?lClassID=200
B地址:域名/goods.php?id=3
实现把用户输A地址跳到B地址,就是跳转的功能。
原先用我用最常的方法实现如:RewriteRule ^ProductView.jsp?lClassID=200$ goods.php?id=3 [L]
看上去是没有问题的,但在地址上输入跳转不了。后来网上查了一下资料如下:
规则:
...
阅读全文…
Linux 使用 cp 命令实现强制覆盖功能,mv无法实现目录覆盖
[ 2013-07-11 23:16:40 | 作者: admin ]
我们平常在Linux中使用 cp 命令时,会发现将一个目录中文件复制到另一个目录具有相同文件名称时,即使添加了 -rf 参数强制覆盖复制时,系统仍然会提示让你一个个的手工输入 y 确认复制,令人不胜其烦.那么这是由于什么原因引起的?要知道原因,你可以在命令行中输
我们平常在Linux中使用 cp 命令时,会发现将一个目录中文件复制到另一个目录具有相同文件名称时,即使添加了 -rf 参数强制覆盖复制时,系统仍然会提示让你一个个的手工输入 y 确认复制,令人不胜其烦.那么这是由于什么原因引起的?要知道原因,你可以在命令行中输入 alias 命令 ,以下是是alias命令的输出
阅读全文…
我们平常在Linux中使用 cp 命令时,会发现将一个目录中文件复制到另一个目录具有相同文件名称时,即使添加了 -rf 参数强制覆盖复制时,系统仍然会提示让你一个个的手工输入 y 确认复制,令人不胜其烦.那么这是由于什么原因引起的?要知道原因,你可以在命令行中输入 alias 命令 ,以下是是alias命令的输出
[root@test-01 yum]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
...alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
阅读全文…
php判断远程图片文件是否存在的方法
[ 2013-07-09 10:13:58 | 作者: admin ]
p.s.需要采集远程图片就需要先判断是否存在,这里提供一个函数,通过文件头来判断
不同状态下读取的header信息
找到图片
...
阅读全文…
function is_img_exist($url){
//print_r(get_headers("http://uc.discuz.net/data/avatar/000/00/022/03_avatar_small.jpg"));
//exit;
$result = get_headers($url);
$str_result = implode(",", $result);
if( substr_count( $str_result, "image" ) ){
return true;
}else{
return false;
}
}
//print_r(get_headers("http://uc.discuz.net/data/avatar/000/00/022/03_avatar_small.jpg"));
//exit;
$result = get_headers($url);
$str_result = implode(",", $result);
if( substr_count( $str_result, "image" ) ){
return true;
}else{
return false;
}
}
不同状态下读取的header信息
找到图片
...
阅读全文…
linux开机启动服务的修改与查看
[ 2013-07-08 22:14:54 | 作者: admin ]
每次系统开机的时候,都会根据不同的runlevel级别启动不同的服务。
开机按[CTRL]+[ALT]+[F7]/[F8]可查看系统启动时正在启动的服务!!!!
众所周知Linux给我们提供了7中不同的启动级别0~6,那么不同的启动级别都会启动那些服务哪。可以使用chkconfig ——list 查看,可以使用chkconfig 服务名 ——level 3 {on|of}修改是否要再某个级别启动或停止。
1. 例如:要把sshd服务在第3种启动级别中停止。
[root@team4 rc3.d]# chkconfig sshd --level 3 off 中国网管联盟www.bitscn.com
2. 还可以手工修改,在/etc/rc.d/这个目录里有很多不同runlevel对应的目录,里面表明进入某个启动级别时要启动和停止那些服务。
[root@team4 etc]# ls /etc/rc.d
...
阅读全文…
开机按[CTRL]+[ALT]+[F7]/[F8]可查看系统启动时正在启动的服务!!!!
众所周知Linux给我们提供了7中不同的启动级别0~6,那么不同的启动级别都会启动那些服务哪。可以使用chkconfig ——list 查看,可以使用chkconfig 服务名 ——level 3 {on|of}修改是否要再某个级别启动或停止。
1. 例如:要把sshd服务在第3种启动级别中停止。
[root@team4 rc3.d]# chkconfig sshd --level 3 off 中国网管联盟www.bitscn.com
2. 还可以手工修改,在/etc/rc.d/这个目录里有很多不同runlevel对应的目录,里面表明进入某个启动级别时要启动和停止那些服务。
[root@team4 etc]# ls /etc/rc.d
...
阅读全文…