Moodle $ DB功能

时间:2012-06-01 09:03:50

标签: php database moodle

我现在一直在研究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对吗?需要帮助

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

3 个答案:

答案 0 :(得分:0)

  

它应该回复truefalse对吗?

没有。它确实回显 nothing false)或1true)。见boolean to string conversion in the manual。使用echo将使PHP将所有内容转换为字符串。

答案 1 :(得分:0)

这将返回布尔值true或false但是当你回显布尔结果时,它会被转换为一个字符串,该字符串将布尔值转换为1表示为true,否则为false。

如果您认为自己不应该获得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参数?

答案 2 :(得分:0)

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