0
我正面臨一個問題。我必須通過在moodle中使用cron函數來更新數據庫中的字段。我在cron函數中使用更新查詢來更新值。但它不起作用。我正在使用此功能來更新值:如何使用cron更新moodle中的數據庫
function activitysetmodule_cron()
{
global $CFG, $DB;
$DB->update_record("activitysetmodule",)
$sql="update {$CFG->prefix}activitysetmodule as asm set status = 1 where exists (select 1 from {$CFG->prefix}course_modules as cm where (module=asm.activityset OR module=asm.activityset2) AND completion=1 AND asm.course =cm.course ");
return true;
}
請幫助找出它。
這意味着我們必須先從select語句中獲取數據,然後我們必須更新它。@ davosmith – Rupzz 2014-09-30 08:54:10
如上所述 - 您可以使用$ DB-> get_records(或get_records_sql)調用來獲取數據,然後在記錄上調用$ DB-> update_record,或者可以使用$ DB-> execute函數在數據庫上運行完整的SQL查詢(第一種是首選,因爲它不太可能導致不同的數據庫引擎出現問題,第二個可能會更快運行)。 – davosmith 2014-09-30 09:57:31