| 
| 原帖由 烟消云散 于 2006-12-11 03:01 发表  
 
 为什么出现这样的错误?是在转换友情链接的时候出现这个问题的
 友情链接转换出错的问题我自己找到原因了,不知道是不是对,但是我已经这样做了!
 原因是有博客用户被删除,也就是oblog_user里的userid已经没有这个人了,但是友情链接内的用户id依然存在,所以转换程序在找到urlid以后在用户表找不到对应的id,语句就出错了!
 
 下面是我的解决办法:不会的用户就照猫画虎,把这段代码贴上去吧!或者下载我上传的附件!
 在转换程序的1640行(从urlid查找userid语句)后面添加判断:
 不过现在还有图片文件不能还原给各用户的问题,我试着改了一下数据库,好像找到对应的表了,看我能不能解决这个问题,呵呵!复制代码
               $lusername        =        getlogusername($luid);     //该句在文本编辑器里为1640行,提示的错误也就出现在这里,搜索“友情链接”就能找到。
        if($lusername <> ""){      //这句是我加的判断,就是用户id存在的时候才执行下面的语句。
                $uid                =        getuid($lusername);
                $name                =        $url['urlname'];
                $logo                =        $url['logo'];
                $url                =        $url['url'];
                $displayorder        =        $url['ordernum'];
                $sql = "INSERT INTO `{$xspace_tablepre}userlinks` (
                        `linkid`, `uid`, `name`, `logo`, `url`, `displayorder`
                        ) VALUES(
                        '$linkid', '$uid', '$name', '$logo', '$url', '$displayorder');";
                if(mysqlquery($sql)){
                        $convertedrows ++;                                                
                } else {
                        reportlog("无法转换 xspace 友情链接 linkid= $linkid,SQL 语句如下 :<br><textarea rows="3" style="width: 100%;">".$sql."</textarea>");
                }
        }    //这句是我添加的判断语句的结束符。
                $totalrows ++;
还是希望官方的程序能出现的好!必定我改的怕有疏漏,而且还是php的新手!!
 
 [ 本帖最后由 kindkind 于 2007-2-2 14:32 编辑 ]
 | 
 |