发新话题
打印

按照wj的做法整合会员后,点击注册新用户后出错了

按照wj的做法整合会员后,点击注册新用户后出错了

wj说的整合会员的方法:

将admin目录下integrate.php文件中 120行 到 136行代码注释掉或着删除。
120行 到 136行代码内容如下:

[Copy to clipboard] [ - ]
CODE:
    if ($_POST['code'] <> $integrate_code)
    {
        /* 清除商城的会员相关数据, 以保证整合后会员数据的正确性 */
        $db->query("TRUNCATE TABLE ".$ecs->table('users'));
        $db->query("TRUNCATE TABLE ".$ecs->table('user_account'));
        $db->query("TRUNCATE TABLE ".$ecs->table('user_address'));
        $db->query("TRUNCATE TABLE ".$ecs->table('user_bonus'));
        $db->query("TRUNCATE TABLE ".$ecs->table('order_info'));
        $db->query("TRUNCATE TABLE ".$ecs->table('order_goods'));
        $db->query("TRUNCATE TABLE ".$ecs->table('order_action'));
        $db->query("TRUNCATE TABLE ".$ecs->table('cart'));
        $db->query("TRUNCATE TABLE ".$ecs->table('tag'));
        $db->query("TRUNCATE TABLE ".$ecs->table('booking_goods'));
        $db->query("TRUNCATE TABLE ".$ecs->table('collect_goods'));
        $db->query("TRUNCATE TABLE ".$ecs->table('feedback'));
        $db->query("TRUNCATE TABLE ".$ecs->table('snatch_log'));
    }



今天测试了一下,出了点问题,原来注册的用户在整合后没问题,但是在ECSHOP中新注册用户,就会发生Users_id重复的错误:

MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => INSERT INTO `ecshopv5`.`ecs_users` (user_id, user_name, password, email, pay_points, rank_points, birthday, last_time) VALUES ('172', '111111', '96e79218965eb72c92a549dd5a330112', '111111@1.com', '10', '10', '1970-01-01', '2007-05-21 15:42:02') ) [2] => Array ( [error] => Duplicate entry '172' for key 1 ) [3] => Array ( [errno] => 1062 ) )

我觉得是admin下面的users.php中107行
$newid = $users->add_user($_POST['username'], $_POST['password'], $_POST['email']);
得到的$newid 不正确引起的,希望管理员给帮帮忙! 谢谢!

TOP

TOP

这一版本还不支持整合时能保留商城原用户。上次说的方法是一个临时的方案。
下一版本才能支持楼主要的功能。

要避免现在所出现的错误可通过以下方法:
1、到商城数据库 users表中找到最大的user_id,通常就是最后一条记录的user_id
2、将论坛用户表最后一个用的UID改为比商城用户user_id 大1.
这样就不会提示以上错误。
这个也是一个临时方法。希望楼主能等下一版本再用。

TOP

还是等下一个版本再用吧,谢谢WJ啊

TOP

发新话题