Archive for category Tech

mysql事务备份

1.http://wasabi.javaeye.com/blog/180162

1. $LinkID =mysql_connect('localhost:3307','root',*******);
mysql_select_db('web_his',$LinkID);
mysql_query("set names utf8");

/* 创建事务 */
mysql_query('START TRANSACTION') or exit(mysql_error());
$ssql1="insert into pf_item values('22','我们','30')"; //执行sql 1
if(!mysql_query($ssql1)){
echo $ssql1.mysql_errno().":".mysql_error()."
“;
mysql_query(‘ROLLBACK’) or exit(mysql_error());//判断当执行失败时回滚

exit;
}
$ssql1=”insert into pf_item values(‘21′,’hell’,'10′)”; //执行sql 2
if(!mysql_query($ssql1)){
echo $ssql1.mysql_errno().”:”.mysql_error().”
“;
mysql_query(‘ROLLBACK’) or exit(mysql_error());//判断当执行失败时回滚

exit;
}

mysql_query(‘COMMIT’) or exit(mysql_error());//执行事务

mysql_close($LinkID);
?>


2.

mysql_query(“BEGIN”);//开始一个事务
mysql_query(“SET AUTOCOMMIT=0″); //设置事务不自动commit
$insert=”INSERT INTO userinfo VALUES (‘aa12′,’aa’,'1′,’aaa’)”;
mysql_query($insert);
mysql_query(“COMMIT”);//非autocommit模式,必须手动执行COMMIT使操作生效
//mysql_query(“SET AUTOCOMMIT=0″);
$insert=”INSERT INTO userinfo VALUES (‘aa20′,’aa’,'1′,’aaa’)”;
$insert=”INSERT INTO userinfo VALUES (‘aa8′,’aa’,'1′)”;
//mysql_query(“COMMIT”);
if(mysql_num_rows==0)
mysql_query(“ROLLBACK”);//非autocommit模式,执行ROLLBACK使事务操作无效
else echo “ok”;
//mysql_query(“CLOSE”);
mysql_query(“SET AUTOCOMMIT=1″);//恢复autocommit模式
$insert=”INSERT INTO userinfo VALUES (‘aa15′,’aa’,'1′,’aaa’)”;
mysql_query($insert);//不需要手动执行COMMIT就可以使事务操作生效

执行BEGIN之后,其作用同set autocommit=0,而且之后设置set autocommit=0或1时无效。所以,为使操作清楚,一般不使用BEGIN。

3.mysql事务与行锁

http://www.611530.com/PC/wangzhan/200910/2220.html

4.

http://hi.baidu.com/cuihu0706/blog/item/1dd6ccb1621c355709230278.html

$handler=mysql_connect("localhost","root","");
mysql_select_db("task");
mysql_query("SET AUTOCOMMIT=0");//设置为不自动提交,因为MYSQL默认立即执行
mysql_query("BEGIN");//开始事务定义
if(!mysql_query("insert into trans (id) values('2')"))
{
mysql_query("ROOLBACK");//判断当执行失败时回滚
}
if(!mysql_query("insert into trans (id) values('4')"))
{
mysql_query("ROOLBACK");//判断执行失败回滚
}
mysql_query("COMMIT");//执行事务
mysql_close($handler);
?>

5.各种锁的类型:

http://www.d5s.cn/archives/93

6.CI中的事务:

http://xinbituya.blogbus.com/logs/21820416.html

http://codeigniter.org.cn/user_guide/database/transactions.html

,

3 Comments

WebGame开发笔记

辞掉之前养老的MMORPG的运营工作,开始了新的webgame研发之旅。
由于平时不是太玩游戏,这对我是一次挑战
时间只有两个月,要出一个alpha版本。

1.开发准备
2.开发小组人员配备说明
3.开发思路说明
a)、想直接走霸王硬上弓的线路,即按自己思路搭好架构,参照代码进行DB设计和library开发
发现对小组成员要求太高,
走b)路线
b)全盘阅读代码,笔记下所有疑点,是否成功,有待观察

No Comments

Lightwindow图片大小的BUG

Lightwindow 是个不错的图片浏览库,但有个情况就是在IE下,会出现在图片没有载入完全时,会出现很小一个框的BUG,看不清图片

lightwindow

现在有个解决方案:

老外提供的》》

主要是IE引起的,具体原因要研究一下,但注意不要COPY他的代码

要用原版的:>>>

同样,你也可以下载我这里的:

Lightwindow.js    1217-1239:
// We have to do this instead of .onload
this.checkImage[i] = new PeriodicalExecuter(function(i) {
if (!(typeof $('lightwindow_image_'+i).naturalWidth != "undefined" && $('lightwindow_image_'+i).naturalWidth == 0)) {
this.checkImage[i].stop();
var imageHeight = $('lightwindow_image_'+i).getHeight();
if (imageHeight > this.resizeTo.height) {
this.resizeTo.height = imageHeight;
}
this.resizeTo.width += $('lightwindow_image_'+i).getWidth();
this.imageCount--;
$('lightwindow_image_'+i).setStyle({
height: '100%', width: '100%'
});
if (this.imageCount == 0) {
this._processWindow();
}
}
}.bind(this, i), 1);

换成如下代码:

// We have to do this instead of .onload
var ie = (document.all)?1:0;
this.checkImage[i] = new PeriodicalExecuter(function(i) {
if(ie){ //THE BROWSER IS IE
if ( $('lightwindow_image_'+i).complete && !(typeof $('lightwindow_image_'+i).naturalWidth != "undefined" && $('lightwindow_image_'+i).naturalWidth == 0)) {
this.checkImage[i].stop();
var imageHeight = $('lightwindow_image_'+i).getHeight();
if (imageHeight > this.resizeTo.height) {
this.resizeTo.height = imageHeight;
}
this.resizeTo.width += $('lightwindow_image_'+i).getWidth();
this.imageCount--;
$('lightwindow_image_'+i).setStyle({
height: '100%', width: '100%'
});
if (this.imageCount == 0) {
this._processWindow();
}
//alert('IE has been detected')
}
}
else
{//NOT IE, PROBABLY FF, OPERA, OTHER
//this line works for all other browsers
if ($('lightwindow_image_'+i).complete && !(typeof $('lightwindow_image_'+i).naturalWidth != "undefined" && $('lightwindow_image_'+i).naturalWidth == 0)) {
this.checkImage[i].stop();
var imageHeight = $('lightwindow_image_'+i).getHeight();
if (imageHeight > this.resizeTo.height) {
this.resizeTo.height = imageHeight;
}
this.resizeTo.width += $('lightwindow_image_'+i).getWidth();
this.imageCount--;
$('lightwindow_image_'+i).setStyle({
height: '100%', width: '100%'
});
if (this.imageCount == 0) {
this._processWindow();
}
}
}
}.bind(this, i), 1);

2 Comments

wordpress 的移植出现的问题

有时wordpress系统需要COPY+PASTE一份新的,

解决办法 是:复制整个目录,修改wp-config.php

修改SQL,改成新的目录,尤其注意的是有serialize的数据中,更换一下数据

常见问题1:

You do not have sufficient permissions to access this page.

可能的问题是 $_usermeta这个数据表中的数据问题:需要改成新的:老外解决方案

如果还有问题:修改表$prefix_options

记录$prefox_user_roles,这个是否换成新的了

No Comments

PHP发送邮件导致页面无法显示

有一天,一台HK的服务器报告

PHP发送邮件的功能导致页面无法显示,症状是:进度条一直在 走,到最后超出了IE最大时长,显示“该页无法显示”

网管确定下来,原来是他们弄了个无效的DNS服务器在那(估计就不能解析域名的不知道什么服务器),改为正确的DNS器,OK了,是记

No Comments

ajax请求返回403错误解决办法

这个问题表现是:

IE浏览器下运行正常,但在Firefox下不正常。表现为(用httpwatch查看)

ajax firefox 403

ajax firefox 403

发生原因:未知

解决办法 :

在当前目录下加上.htaccess


SecFilterEngine Off

No Comments

Wordpress主题之comfy

wordpress主题-comfy是一个不错的theme,标准的三栏结构

comfy-2

这种结构很适合做新闻的CMS之用。如果配合加上CACHE的插件应该效果很棒。comfy-1

comfy使用篇

1.需要配置config.inc.php 这个是在wp-contents目录comfy目录下,主要配置feature的分类ID,从后台里面可以得到,还有首页显示几个category的ID,顺序。

2. comfy提供了几人上功能pageview pagevote功能,这些模板是可以在后台setting里设置修改,不用修改源代码滴。

No Comments

HTML 标签

 

 

转自:http://hi.baidu.com/guodong828/blog/item/4ba8b20fd828b9ecab6457bf.html

 

base标记是一个基链接标记,是一个单标记。用以改变文件中所有连结标记的参数内定值。它只能应用于标记<head>与</head>之间。
你网页上的所有相对路径在链接时都将在前面加上基链接指向的地址。

重要属性:href
设定前缀的链接地址:target
设定文件显示的窗口,同a标记中的target

简单例子:
<html>
<head>
<base href=”http://www.baidu.com” target=”_blank”>
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″>
<title>base标记</title>
<link rel=”Shortcut Icon” href=”ani.CUR”>
</head>
<body>
<a href=”77.htm” target=”_self”>77</a>
<a href=”88.htm”>88</a>
</body>
</html>

当点了链接后,跳出的文件是http://www.baidu.com/77.htm或http://www.baidu.com/88.htm,它就是在这些相对路径的文件前加上基链接指向的地址。如果目标文件中的链接没有指定target属性,就用base标记中的target属性。
常在框架结构中用,如左右两个框架,把左边的框架中文件里的连接都显示在右边的框架里。只要用base标记,把其target属性值写为右框架名称,这就不用再为左框架里的文件中的每一个连接都指定target属性。

No Comments

Discuz 7 常见问题总结(原创)

A.access denied for agent changed

常见时上传头像avtar 或者 自定义discuz 客户端的时候,解决这种问题最简单的办法:
使用数据库连接方式来连接uc_server
1.登陆后台,检查uccenter,检查应用管理,查找通信密钥,将其复制到你所在的config.inc.php
2.论坛的应用,根目录下的config.inc.php  其他的client,当然就是相应的config.inc.php

=======第一步看看uc_server目录有没有.htaccess

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

加入其中。

第二步检查。key是否正确

0043

 

B:注册成功后跳转到指定的页面
这个问题一般比较棘手,但很实用,解决办法比较好的是:
修改模板文件。register.htm 修改action后面 onsubmit 这个方法取消之
因为注册使用ajax提交,,切记切记

c:注册成功后页面不跳转
这个问题可能不多见。一般情况下可能是模板你改坏了,100%,register.htm
对,没错就是他,我曾经把他变成utf8但忘记去掉BOM()

No Comments

.htaccess使用收集

RewriteEngine on
Options -Indexes //对所有目录下的目录都会起作用,禁止目录浏览

No Comments

Switch to our mobile site