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 =

我对使用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 = '';

 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()
当表中没有更多注释时,循环应该停止,尽管您得到了任何输出,还是只是抛出了一个错误?递归的目的是什么?它不是永远运行同一个查询吗?