本帖最后由 andy888 于 2010-9-26 19:33 编辑
跟踪发现,有些用户单独转UCH的时候出现用户表转换数据丢失的问题,现给出以下解决方法
打开convert\source\uch2.0_x1.5\table\home_space.php这个文件
在29行左右能找到
- foreach (array('member','member_count','member_field_forum','member_field_home','member_profile','member_status') as $value) {
- $db_target->query("INSERT INTO {$newpre}common_{$value} (uid) VALUES ('$space[uid]')", 'SILENT');
- }
复制代码 将这几行代码改为
- $username = daddslashes($space['username']);
- foreach (array('member','member_count','member_field_forum','member_field_home','member_profile','member_status') as $value) {
- if($value == 'member') {
- $db_target->query("INSERT INTO {$newpre}common_{$value} (uid, username) VALUES ('$space[uid]', '$username')", 'SILENT');
- } else {
- $db_target->query("INSERT INTO {$newpre}common_{$value} (uid) VALUES ('$space[uid]')", 'SILENT');
- }
- }
复制代码
改完之后重新执行转换就可以了
重新转换时,只要转换如图所示的那部分即可。转换过程积分会重累加,这个在所难免,可以把这些积分转到其它未启用的积分字段中,再跟据需要把积分合并到相应的字段中去 |