ecshop如何解决MySQL server error report:Array这个问题

时间: 2013-12-6 分类: ecshop技术 作者: SAI

TAGS:

在使用ecshop的时候经常会在网站前台后台出现类似这样的错误:
MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => INSERT INTO `IT006`.`ecs_stats`(`user_id`, `email`, `user_name`, `password`, `reg_time`, `last_login`, `last_ip`) VALUES (‘2535′, ‘376775417@qq.com’, ‘hui123456′, ’89acf87c2d8b8f1f40f3727975231b17′, ‘1309838001’, ‘1309838001’, ‘60.166.113.17’) ) [2] => Array ( [error] => Duplicate entry ‘2535’ for key 1 ) [3] => Array ( [errno] => 1062 ) )

错误编号:1062

问题分析:
您的站点上有 phpMyAdmin中数据库ecs_stats表损坏出错了,可向唯一字段插入相同数据。

错误的原因分析:
A:修改过的程序版本升级后可能会出现的错误;
B:使用其他程序,如Ucenter整合或者最土团购同步会员。

最佳解决办法:如果你没修改过程序数据表的话最简单的办法就是本地重新安装一个ecshop程序,然后复制ec_stats表覆盖服务器的就行了。

解决方法可参考如下http://faq.comsenz.com/?action-viewnews-itemid-100

注意要仔细看你哪个表出错就修改哪个表
1、请检查程序是否做了修改,如果修改过,建议用我们的原程序覆盖您的修改,再次检查问题。
2、如果您的站点上有 phpMyAdmin ,还可以通过他检查下您的数据库中出错的表的自增字段的当前自增值是否和该表中自增字段的最大值相同,如果相同则会出现该错误。
3、如果您正在转移数据库,请确认数据库的版本是否相同。
4、如果以上方法还未解决,请恢复备份,用 DBCheck 将数据库检验为标准结构,并且重新开始升级。

方法 2 的检查修改详细流程:(以 Discuz! 的 threads 表为例,其他操作均相同)
1)进入您的 phpMyAdmin ,然后在左侧选择您出错的数据库。
11_200807231001321xH4m
2)选择您出错的表,并找到该表的自增字段,有 auto_increment 标识的字段即为该表的自增字段。
11_200807231015201Rq1m
3)点击浏览,然后根据自增字段降序排序,记下自增字段的当前最大值。
11_200807231026361aUEm
4)点击该页面上方的操作,会看到“表选项”中的 auto_increment 项,这就是下一条你要插入的数据的自增字段的值,如果这个值和刚才记下的当前自增字段的最大值一样,就会报错了,所以将这个值改为大于刚才记下的当前自增字段的最大值,然后点击“执行”,即可解决问题。
示例中给出的当前自增字段的最大值为 54 ,而下一条你要插入的数据的自增字段的值为 55 ,这样则不会有问题。
11_200807231034051eib0

如果你还是没有解决问题,

那么有可能你的uc_mebers and ecs_users两表的auto_increment的值不一样,

只要改成一样就可以了。

Javin

本文作者: SAI

推崇以用户为中心的设计理念,专注于用户体验设计,游走在视觉设计与前端开发之间。我要投稿

除非特殊注明,本文版权归原作者所有,欢迎转载!转载请注明版权以及本文地址,谢谢。
转载保留版权:塞纳» 建站技巧 » ecshop技术 » ecshop如何解决MySQL server error report:Array这个问题
本文地址:http://www.saiody.com/?p=969

返回顶部