我將Moodle 1.0模塊移植到版本2.0。在檢查幾個PHP文件中的錯誤時,我遇到了查詢的錯誤消息,但沒有指出錯誤是什麼。這裏是查詢:SQL查詢出錯
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關鍵字。
看不到此查詢的任何語法問題。我不熟悉Moodle如何綁定PDO參數,但通常PDO參數數組在其關鍵字中包含':',如'array(':assignmentid'=> $ assignment_id)'(儘管我認爲它是可選的) –
「我遇到了查詢的錯誤消息」所以告訴我們錯誤消息說的是什麼。粘貼它,而不是一個釋義。 –
錯誤(其他) - 第327行 - 這是確切的錯誤。它沒有說別的。 –