微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何修复“可恢复的致命错误:类Closure的对象无法转换为字符串…”

执行此代码时出现此错误.我不知道该怎么办.请帮忙

<?PHP

$Q = strtoupper($_GET['q']);
$q = ucwords($_GET['q']); 
$result = MysqLi_query($conn, "SELECT src FROM mytable WHERE '%$Q%' NOT LIKE 0 OR SRC LIKE '%$Q%'");

$total = MysqLi_num_rows($result);
$numRows = function() 
{
    if($total <= 4){
        return 1;
    } else {
        return ($total / 4);
    }
};
if($row = MysqLi_fetch_array($result)){ 
?>              
    <h2>Resultados para la búsqueda <?PHP echo "$q"?></h2>
    <h3>Número de resultados total: <?PHP echo "$total"?></h3>
<?PHP  
}

解决方法:

根据错误,听起来你使用$numRows作为字符串,但是你的代码必须更远,你还没有发布.我相信,您可以执行$numRows()来调用函数,但在$numRows中,您使用$total.正如Zain Farooq建议的那样,你可以使用($total)但最好将$total作为函数调用的参数传递.例:

$total = MysqLi_num_rows($result);
$getNumRows = function($tot) 
{
    if($tot <= 4){
        return 1;
    } else {
        return ($tot / 4);
    }
};
$result = $getNumRows($total);
echo "I have {$result} rows.";

我认为你在做什么,某个地方正在做一些像echo $numRows,但它需要回显$numRows(),所以正在调用函数.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐