0

我现在一直在研究moodle,似乎找不到正确的答案...

public static function exists($user, $course){
    return self::$DB->record_exists('completion_ext', array(
        'user_id'=>$user,
        'course'=>$course

    ));
}

我创建了这段代码并试图回应它......函数的类被命名completion_ext,所以当我去的时候

echo completion_ext::exists(1, 3);

它应该回声true还是false对?请需要帮助

当我执行上面说的代码时,它是空白的......它不是真的,也不是假的,只是空白

4

3 回答 3

0

这将返回布尔值 true 或 false,但是当您回显布尔结果时,它将被转换为字符串,该字符串将布尔值转换为 1 表示 true 或 none 表示 false。

如果您认为应该获得 1,但您没有获得 1,请通过执行此操作确保没有数据库查询问题。

public static function exists($user, $course){
    try {
        return self::$DB->record_exists('completion_ext', array(
            'user_id'=>$user,
            'course'=>$course

        ));
    } catch (Exception $ex) {
        echo $ex->getMessage();
        if (!empty($ex->error)) {
            echo $ex->error;  // since dml_exception stores it here
        }
    }
}

如果这没有帮助,请确保您已打开调试并从管理设置一直向上(只需搜索调试)并确保在调用函数之前打印标题。我假设您的班级将本地 $DB 参数设置为系统全局 $DB 参数?

于 2012-06-18T17:26:25.197 回答
0

在使用它之前声明 $DB 变量。

于 2013-11-05T10:34:19.413 回答
0

它应该回声true还是false对?

,它不回显( false) 或1( true)。请参阅手册中的布尔到字符串转换。使用echo将使 PHP 将所有内容转换为字符串。

于 2012-06-02T00:30:14.207 回答