fetch内部的嵌套函数(在另一个函数内部)不执行。
fn_smth1嵌套在fn_smth2中,应该通过fn_smth2输出结果
以下示例是简化版本。
function fn_smth1 ($id){ global $mysqli; $stmt = $mysqli->stmt_init(); if ($stmt->prepare("SELECT code FROM at WHERE id = ?")){ $stmt->bind_param("i",$id); $stmt->execute(); $stmt->bind_result($code); if ($stmt->fetch()){ $code_displ = $code; } } $stmt->close; return $code_displ; } function fn_smth2($id){ global $mysqli; $stmt = $mysqli->stmt_init(); if ($stmt->prepare("SELECT idx, name FROM at WHERE id = ?")){ $stmt->bind_param("i",$id); $stmt->execute(); $stmt->bind_result($idx, $name); if ($stmt->fetch()){ $code_displ = $name.' === '.fn_smth1($idx); } } $stmt->close; return $code_displ; } echo fn_smth2(1);
//预期
这里有一些名字===这里的一些代码
//接收
这里有些名字=== null(函数fn_smth1没有给出值)