Php 递归函数导致内存泄漏
我对使用php相当陌生,为了组织一个简单的评论线程,我编写了以下函数Php 递归函数导致内存泄漏,php,sql,Php,Sql,我对使用php相当陌生,为了组织一个简单的评论线程,我编写了以下函数 function get_reply_comment($conn, $parentId, $marginleft) { echo memory_get_usage(); $sql = "SELECT * FROM tbl_comment WHERE parent_comment_id = '".$parentId."'"; $result = mysqli_query($conn, $sql); $output =
function get_reply_comment($conn, $parentId, $marginleft)
{
echo memory_get_usage();
$sql = "SELECT * FROM tbl_comment WHERE parent_comment_id = '".$parentId."'";
$result = mysqli_query($conn, $sql);
$output = '';
if($parentId == 0)
{
$marginleft = 0;
}
else
{
$marginleft = $marginleft + 48;
}
while($row = mysqli_fetch_assoc($result))
{
$output .= Stuff
$output .= get_reply_comment($conn, $row["comment_id"], $marginleft);
}
return $output;
}
我不断得到大量的内存使用。我认为每次调用一个结果,那么泄漏来自何处?这看起来像是在创建一个无限循环,因为您是从内部递归调用
get\u reply\u comment()
当表中没有更多注释时,循环应该停止,尽管您得到了任何输出,还是只是抛出了一个错误?递归的目的是什么?它不是永远运行同一个查询吗?