我现在一直在研究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
对吗?需要帮助
当我执行上面描述的代码时,它是空白的...它不是真的,也不是假的,只是空白
答案 0 :(得分:0)
它应该回复
true
或false
对吗?
没有。它确实回显 nothing (false
)或1
(true
)。见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变量。