2013-04-22 42 views
2

我不熟悉用代碼更新數據庫的Moodle方法。Moodle代碼更新mysql

我有這樣的說法:

$expiredCourseArchiveIntegritaxSql = "UPDATE mdl_course SET category = 29 
             WHERE expireDate < '" . $date . "' 
             AND category = 28"; 

$expiredCourseIntegritaxArchive = $DB->get_records_sql($expiredCourseArchiveIntegritaxSql); 

這種格式從數據庫獲取記錄時,卻沒有更新的作品。我找不到如何使用Moodle $ DB函數更新數據庫的示例。

我假設iussue是我使用:

$DB->get_records_sql($expiredCourseArchiveIntegritaxSql); 

當語法應該不會停更像:

$DB->update_records_sql($expiredCourseArchiveIntegritaxSql); 

回答

1

一般更新使用記錄時update_records()和發送表名稱和鍵和值的對象。但既然想指定哪裏少於那麼,你必須使用execute_sql:

$DB->execute_sql("UPDATE {course} SET category = 29 WHERE expireDate < '{$date}' AND category = 28");