静态 PHP 函数不返回值


Static PHP function not return value

我有一个函数,它执行一个选择语句并返回结果。我可以看到结果,但我的函数返回一个空对象。

public static function getMySteps($schema, $StepNum){
    $retVal = null;
    $sql = "SELECT * FROM mysteps where id=" . $StepNum; 
    Yii::log($sql,'info','.getMySteps');
    $results = execSQL($schema, $sql);
    if (is_array($results) && count($results) > 0){
        $retVal = $results[0];
    }
     Yii::log("returning " . isset($retVal), "info", "getMySteps");
    return $retVal;
}

我在另一个函数中调用此函数

 $retval = self::getMySteps($mySchema, $myStepNum);
 Yii::log("step count found " . isset($retVal), "info", "nextStep");

当我查看日志时,我看到

returning 1

step count found

这意味着我从查询中获取结果,但该函数不返回任何内容。

我想发表评论,但在您阅读本文后我不能立即删除"答案"。

您的变量不匹配,这种情况经常发生。一个简单的技巧是让 IDE 或简单文本编辑器突出显示文本中当前选定的变量。我犯了你的错误一次,浪费了很多时间。这是我的小提示。:)

编辑:以这个原子包为例 https://atom.io/packages/highlight-selected: