原帖由 烟消云散 于 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 编辑 ] |