在下面的代码中。我无法获取checkForResult返回任何内容。我希望是0或$ r ['id']的值。当我回显$ myResult时,没有结果,不是null,没有空格,nothin ...我在想什么?
$myResult = getId($db,someField,someValue);
function checkForResult($stmt){
if ($stmt->rowCount() < 1){
return 0;
}else{
while($r = $stmt->fetch()){
return $r['id'];
}
}
}
function getId($db,$field,$value){
$sel = "SELECT id from table where field='".$field."' and value='".$value."'";
$stmt = $db->query($sel);
checkForResult($stmt);
}
答案 0 :(得分:1)
您的函数checkForResult
返回值,但它仅在先前的范围(即方法getId
)中执行。要从getId
返回值,您还需要添加return
。像这样:
function getId($db, $field, $value)
{
$sel = "SELECT id from table where field='".$field."' and value='".$value."'";
$stmt = $db->query($sel);
return checkForResult($stmt);
}