Я не могу заставить SQL IN работать с правильным способом ввода переменных в строку sql.
Когда я делаю это:
$activities = '('.$section->sequence.')';
$sql = "SELECT assign.name FROM {assign} assign
INNER JOIN {course_modules} cm
ON cm.instance = assign.id
INNER JOIN {modules} m
ON m.id = cm.module
WHERE m.name = 'assign' AND
cm.id IN ?";
$assignments = $DB->get_records_sql($sql, array($activities));
он не работает, он говорит, что есть ошибка в моем SQL синтаксисе вокруг оператора IN.
Но когда я делаю это так, он работает. (Не использовать?)
$sql = "SELECT assign.name FROM {assign} assign
INNER JOIN {course_modules} cm
ON cm.instance = assign.id
INNER JOIN {modules} m
ON m.id = cm.module
WHERE m.name = 'assign' AND
cm.id IN ".$activities;
$assignments = $DB->get_records_sql($sql, null);
Как я могу заставить его работать с использованием правильного синтаксиса moodle. то есть. $assignments = $DB->get_records_sql($sql, array($activities));