我正在将Moodle 1.0模块移植到2.0版。在检查几个PHP文件中的错误时,我遇到了一条查询错误消息,但没有指示错误是什么。以下是查询:
global $DB; //required global variable
$vms = $DB->get_records_sql('SELECT DISTINCT vm.*, uva.assignment_id, gm.groupid,
CASE WHEN gm.groupid IS NULL THEN uva.user_id ELSE NULL END user_id
FROM {mdl_vMoodle_Virtual_Machine} vm
INNER JOIN {mdl_vMoodle_UVA} uva ON vm.id = uva.vm_id
LEFT JOIN {mdl_groups_members} gm ON gm.userid = uva.user_id
WHERE uva.assignment_id = :assignmentid', array('assignmentid'=>$assignment_id));
有人能告诉我这个函数调用有什么不正确吗?
更新:删除DISTINCT使错误消失。Moodle 2.0几乎没有文档,所以我不确定它是否只是不接受distinct关键字。
最佳答案
不要添加表名前缀“mdl”,因为使用{}会自动添加。
关于php - SQL查询错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13898494/