当我执行此代码时出现此错误。我不知道该怎么办。请帮忙<?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 }
2 回答
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
根据错误,听起来您好像是在使用$numRows字符串,但这必须在代码中更远的地方,这是您尚未发布的内容。$numRows()我相信您可以调用函数,但是在内部$numRows,您可以使用$total。正如Zain Farooq所建议的那样,您也许可以,use ($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,但是它必须是echo $numRows(),因此函数被调用了。
慕哥9229398
TA贡献1877条经验 获得超6个赞
你的问题就在这里
$numRows = (function() use ($total) {
if($total <= 4){
return 1;
}else{
return ($total / 4);
}
})();
您必须在括号之间包装函数,如果要传递参数,则应使用 use()
- 2 回答
- 0 关注
- 127 浏览
添加回答
举报
0/150
提交
取消