【发布时间】:2018-05-28 15:28:11
【问题描述】:
我创建了一个函数(递归)。 如果它有父ID,它将再次调用,否则它将返回最后一个ID。 问题是我无法返回函数参数中传递的最后一个 Id。 如果我使用 var_dump() 或 echo 但无法在 return() 中返回,则显示完成。
这里是示例代码:
function abc($dbcon,$id){
$get_quy = "select * from member_mst where member_status=0 and pid=".$id;
$get_rs = $dbcon->query($get_quy);
$get_numrows = mysqli_num_rows($get_rs);
$get_rel = mysqli_fetch_assoc($get_rs);
if($get_numrows>0){
abc($dbcon,$get_rel['member_id']);
}else{
//var_dump($id);//This will return => "String '3'"
return $id;
}
}
var_dump(abc($dbcon,1));//Returning Null
【问题讨论】:
-
我认为应该是
return abc($dbcon,$get_rel['member_id']);。您执行该函数,但从未从递归调用中获得结果 -
你应该修复 SQL 注入。
-
@Kaddath 它再次调用我的函数(无限次)。
-
@abhichavda 你得到了什么结果?你能在
if($get_numrows>0){之前加上:print $get_numrows."\n"吗?