我不熟悉 Moodles 使用代码更新数据库的方法。
我有这个声明:
$expiredCourseArchiveIntegritaxSql = "UPDATE mdl_course SET category = 29
WHERE expireDate < '" . $date . "'
AND category = 28";
$expiredCourseIntegritaxArchive = $DB->get_records_sql($expiredCourseArchiveIntegritaxSql);
这种格式适用于从数据库中获取记录但不更新的情况。我找不到如何使用 Moodles $DB 函数更新数据库的示例。
我假设 iussue 是我正在使用的:
$DB->get_records_sql($expiredCourseArchiveIntegritaxSql);
当语法应该更像:
$DB->update_records_sql($expiredCourseArchiveIntegritaxSql);
最佳答案
通常在更新记录时,您使用 update_records() 并发送表名和键值对象。但是既然要少指定 WHERE,你就必须使用 execute_sql:
$DB->execute_sql("UPDATE {course} SET category = 29 WHERE expireDate < '{$date}' AND category = 28");
关于php - Moodle 从代码更新 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16143909/