我在代码的第 42 行收到以下错误。但奇怪的是我已经在检查 null 并且实际错误似乎发生在第 44 行。如何解决这个问题?
错误
未捕获的错误异常:htmlspecialchars():将 null 传递给参数 字符串类型的 #1 ($string) 在 /var/www/mysite/mypage.php:42 中已弃用
代码
while($row3 = mysqli_fetch_assoc($result3))
{
$emailbody .= "<b>Keyword:</b> ". htmlspecialchars($row2["keyword"]) ."<br>";
if(!is_null($row3["summary"])) //line 42
{
$emailbody .= "<b>Summary:</b> ". htmlspecialchars($row3["summary"]) ."<br>";
}
}
由于您在第二次调用时检查
null
,因此错误必定来自第一个调用:htmlspecialchars($row2["keyword"])
。也添加一个空检查,你应该没问题。