DEDECMS(织梦cms)友情链接报错$row['url']不存在问题的解决

  • 问题描述: 调试模式下,调用{dede:flink row=’6’ titlelen=”20”/} 会弹出警告Warning: Illegal string offset ‘url’ in E:\dedecms\include\taglib\flink.lib.php on line 112;
  • 原因:笔者112行为 $rbtext = preg_replace("/\[field:url([\/\s]{0,})\]/isU", $row['url'],"$innertext" ) ; 通过var_dump()可以知道$row就是我们调用时设定的参数 row=’6’,即取出6个友链,不是数组,也不含url;
  • 解决方法:通过观察上文,会发现数据库查询结果放在对象$dbrow内,而不是$row;所以将112行的$row['url'] 替换为$dbrow->url 即可;类似的下面的113、114行的$row['webname'] $row['logo'] 替换为$dbrow->webname $dbrow->logo 完成上述替换后,在调试模式下就不会报错了
  • 注:dedecms版本:DedeCMS V5.7 SP2
    开启调试模式,报告所有错误(error_reporting(E_ALL);)

图:
报错
DEDECMS(织梦cms)友情链接报错$row['url']不存在问题的解决_第1张图片
原码
DEDECMS(织梦cms)友情链接报错$row['url']不存在问题的解决_第2张图片
改后
DEDECMS(织梦cms)友情链接报错$row['url']不存在问题的解决_第3张图片

你可能感兴趣的:(web,php,坑与跳坑)