- $t_field2 = array('pid');
- $t_query2 = getinsertsql("{$discuz_tablepre}forum_post_tableid", $t_field2);
- if($t_v = $db['discuz']->query($t_query2)) {
- //$pid = $t_v['pid'];
- $pid = $db['discuz']->insert_id();
- $t_field1 = array('fid', 'tid', 'first', 'author', 'authorid', 'subject', 'dateline', 'message', 'useip', 'attachment', 'usesig', 'bbcodeoff', 'smileyoff', 'parseurloff', 'htmlon', 'rate', 'ratetimes', 'status');
- $t_query1 = getinsertsql("{$discuz_tablepre}forum_post", $t_field1);
- $db['discuz']->query($sql);
- } else {
- reportlog("转换商品交易出错 tid = $tid , pid = $pid");
- }
复制代码 我转换时在这段出现问题,查:forum_post_tableid本身在第5步转换帖子时就已经填充了数据,到了第6步,只是转换交易帖内容,所以转换到这里,pid由于取值是:$pid = $dvp['announceid'];
会与原来已经有的值重复,出现值重复错误。
而且本身在这里,取得了pid值,在后面的代码中并没有用到。
另外,这段代码中,$db['discuz']->query($sql);这句也是乱来的,$sql本来就没有值,怎么能执行呢。
按照此分析,如果用户数据库中本身带有商品,肯定会出错。
也就是说官方的转换程序有问题。
|