先看一下报错是这样的:
首先找到Joe主题的文本位置,然后再打开core文件夹下的function.php文件对第261行进行修改
原来报错的代码为:
/* 获取父级评论 */
function _getParentReply($parent)
{
if ($parent !== "0") {
$db = Typecho_Db::get();
$commentInfo = $db->fetchRow($db->select('author')->from('table.comments')->where('coid = ?', $parent));
echo '<div class="parent"><span style="vertical-align: 1px;">@</span> ' . $commentInfo['author'] . '</div>';
}
}
我们需要给他修改修改代码如下:
/* 获取父级评论 */
function _getParentReply($parent)
{
if ($parent !== "0") {
$db = Typecho_Db::get();
$commentInfo = $db->fetchRow($db->select('author')->from('table.comments')->where('coid = ?', $parent));
if ($commentInfo) {
echo '<div class="parent"><span style="vertical-align: 1px;">@</span> ' . htmlspecialchars($commentInfo['author'], ENT_QUOTES, 'UTF-8') . '</div>';
}
// 如果查询没有返回结果,则什么也不做
}
}
关键点解释:
检查数据库操作结果:
1.if ($commentInfo):检查 fetchRow 的结果是否为 null。只有在查询成功并且返回了结果时,才会访问 commentInfo['author'] 并输出父级评论。
2.不显示未知作者:如果查询没有返回结果,则不输出任何内容。
快去试试吧~
评论