[mysql]解决Database query failed: Incorrect integer value: ” for column ‘id’ at row 1问题

升级Mysql数据库之后,发现有个项目出现Database query failed: Incorrect integer value: ” for column ‘id’ at row 1错误,然后在程序中找到对应报错的代码,原因是数据库插入数据的问题:

$sql = "INSERT INTO ".self::$table_name." VALUES ('', '$user_id', '$first_name', '$last_name', '$gender', '$username', '$password', '$email', '$activated', '0', '$datetime', '', '$signup_ip', '$signup_ip', '$country', '0', '0', '', '0', '0','0','0','0','')";

原来出错在ID字段,ID字段是int类型以及keyword、自增.而现在插入的数据中,却把ID的值设置为空,所以就会提示Database query failed: Incorrect integer value: ” for column ‘id’ at row 1这样的错误哦。

经网上资料得知此问题一般mysql 5.x上出现。

既然发现出错的地方,那我们就来解决这个问题。

方法一:在安装mysql的时候,去除默认勾选的enable strict SQL mode

方法二: 修改mysql的配置文件my.ini

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",

修改为:

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",

方法三: 如果以上方法都不行,那你就改sql语句了,把ID的值对应的设置为null.

[Axure]刻画网站模型,我青睐着它。

 

14年似乎对很多人来说,都是一个全新的开始,伴随着世界末日的结束。今年对于我来说也有很多的不同,相对于13年刚步入社会的自己。

最先开始接触Axure,是在学校的WEB前端这个课程上,简单的线框图,却清晰的刻画出了一个网站的模型,让脑海中的想法在半个小时现出原型,这无疑是让开发者欣喜若狂的事儿,那时候老师只是简单的说了网站原型这个理念,并没有让我们深刻的体会到它的实用之处,直到步入公司,真正的运用到项目中,才发现它的价值所在。

从最初简单的页面策划,到后期的简单网站原型规划,节省了很多沟通的时间,一个书面策划,并不能很好的像设计师表达你的想法,也无法一目了然的跟程序员表达页面交互的状态效果,种种的局限,在axure的帮助下轻松解决。设计师只要对画好的线框图做视觉效果,通过原型的交互事件,设计师也能更好的跟程序员传达页面交互的流程。

重新开始新一年的工作,整个团队都有了新的规划,身在其中的我们,自然也有了更多的挑战和责任,老大让我主管项目,从整个产品策划开始由我牵头到后期,都让我一步跟进,这对于我来说有压力也是成长的一步。也让我在原型交互中体会更深刻,认识到更多原型交互的精髓所在。

下篇关于Axure更新的篇章,将会由筱影杍为大家分享,有效的制作高保真原型图,让产品策划专员在沟通中无障碍。

[技术杂谈]新发布的论坛帖子10分钟就被百度收录.

Jhonse技术论坛中发布一篇新的原创帖子(写给茫然不知所错的自己)接着就浏览其他网页去了,后来一心血来潮,就把帖子标题直接输入百度里面一搜索,太不可思议了,既然排在了第二位,内心实在是激动不已啊!下面有图有真相,欢迎小伙伴来围观哦:

 

 

 

 

20140323234246

 

 

20140323234212

[CSS3]使用grayscale滤镜将图片由彩色变为黑白照

在实现图片切换效果的时候,需要用到一个滤镜功能,将一张彩色图片变成一张黑白照,这就需要用到css3的grayscale来对图片进行滤镜处理。

代码如下:

img{
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
    filter: gray;
}

效果如下:

20140316225050

 

20140316225215

[JQuery]实现点赞加1效果

通过ajax异步更新数据库,并返回当前点赞数,来实现文章点赞功能,而需要一个加1的效果,逐渐变大而消失,请看如下图片:

20140315130847

 

实现代码:

(function($){
            $.fn.extend({
                addOne: function(options) {
                    options = $.extend({
                        str: "+1",
                        startSize: "14px",
                        endSize: "40px",
                        interval: 500,
                        color: "red",
                        style: "",
                        callback: function() {}
                    }, options);

                    $("body").append("<span class='tips_box' style='"+ options.style +"'>"+ options.str +"</span>");
                    var box = $(".tips_box");
                    var self = $(this);
                    var top = self.offset().top;
                    var left = self.offset().left + self.width() / 2 - box.width() / 2;
                    //alert(layer.width());
                    box.css({
                        "position": "absolute",
                        "top": top,
                        "left": left,
                        "font-size": options.startSize,
                        //"font-weight": "bold",
                        "color": options.color
                    });
                    box.animate({
                        "top": top - self.height() / 2,
                        "opacity": 0,
                        "font-size": options.endSize
                    }, options.interval, function() {
                        box.remove();
                        options.callback();
                    });
                }
            });
        })(jQuery);

然后对链接添加点击事件,来实现加1效果。

$("a").addOne({
                    style: 'font-weight:bold;',
                    endSize: "60px",
                    interval:800
                });

即可实现该动态效果功能!

[mysql]修改mysql数据库文件路径之后,重启出错(1067)

通过之前写的博文[修改mysql数据库文件路径]来自定义mysql数据库文件路径,但是修改完之后,重启mysql服务,提示1067错误,无法启动mysql。

20140311164208

 

于是开始找原因,查看了下自定义目录:D:/mysql/data,以及默认的数据库文件目录(C:/mysql/data),发现默认的数据库文件目录多了两个文件夹(mysql和test)。原来是默认安装的Mysql中有一个配置数据库以及测试数据库,所以自定义的数据库文件目录下也需要对应的两个数据库的配置信息。

20140311164630

 

解决方法:

复制该两个数据库的配置信息(也就是mysql目录和test目录),放到自定义的目录下即可。然后重启mysql服务,就正常运行了。

[技术排行榜]2014年3月编程语言排行榜:F#直逼Top10

TIOBE 2014年3月份编程语言排行榜出炉,前三甲无明显变化为:C、Java、Objective-C。  

受假期影响,这个月编程语言排行榜的浮动变化不大,其中Visual Basic .NET、Transact-SQL、F#上升趋势较为明显。F#是由微软发展的为微软.NET语言提供运行环境的程序设计语言,是一门函数式编程语言(Functional Programming),函数式编程语言的特点之一便是No Side Effect,Immutable。

2014年3月编程语言排行榜TOP 20榜单:

20140305082709181885

 

前10名编程语言长期走势图:

20140305082709107795

 

以下是21-50编程语言排名:

20140305082709085817

 

后50名编程语言如下:

(Visual) FoxPro, 4th Dimension/4D, Apex, Arc, ATLAS, Automator, Avenue, Awk, Bash, bc, BlitzMax, Bourne shell, CFML, cg, CL (OS/400), Clean, Clojure, Erlang, Factor, Felix, Forth, Groovy, Icon, Inform, Informix-4GL, Io, J, JavaFX Script, JScript.NET, Korn shell, LabVIEW, M4, Magic, Mercury, Modula-2, NATURAL, NXT-G, OCaml, PILOT, Programming Without Coding Technology, Pure Data, Q, S, S-PLUS, Scheme, Standard ML, TOM, VBScript, VHDL, X10

 

必须声明,这个榜单本身采集的是英文世界的数据,虽然在反映趋势上有一些参考意义,但与中国的实际情况不完全符合,而且,这张采样本身也有相当大的局限性。

【说明】

TIOBE编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如Google、MSN、Yahoo!、Wikipedia、YouTube以及Baidu等)进行计算。请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。

这个排行榜可以用来考查你的编程技能是否与时俱进,也可以在开发新系统时作为一个语言选择依据。排行榜的详细定义可以参考这里(英文)。

[CodeIgniter]解决上传文件类型提示不允许问题: The filetype you are attempting to upload is not allowed.

之前用CI(CodeIgniter)写过一个管理系统,当时需要的功能是导入Excel表格实现批量处理。而现在就出现一个问题:上传Excel文件的时候,总是提示:The filetype you are attempting to upload is not allowed. 确确实实上传的是excel文件…

既然提示文件类型不允许,那我就查看下上传文件的文件类型:

echo $_FILES['userfile']['type'];

显示结果为:application/kset

还真的不是excel格式,原来是wps软件对应的表格格式。

WPS包括三种主要格式的文件.wps/.et/.dps
这三种格式文件的MIME类型分别是
application/kswps
application/kset
application/ksdps

于是就添加对应的一个格式即可。

找到CI框架的应用程序目录下的配置目录->mimes.php文件

20140304172645

 

在该文件中找到.xls的配置项

'xls'	=>	array('application/excel', 'application/vnd.ms-excel'),

然后再添加WPS表格文件格式

'xls'	=>	array('application/excel', 'application/vnd.ms-excel', 'application/msexcel','application/kset'),

保存,刷新重新上传成功!