php - Moodle 从代码更新 mysql

标签 php mysql moodle

我不熟悉 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/

相关文章:

php - 如何在共享服务器上回显到 mysql 的路径?

php - 乔姆拉! 3.2 - 将全局参数添加到 "New Menu Item"

php - UTF-8 页面到 UTF-8 数据库表显示不正确

用于图表的 mysql 子查询

php - 我该如何解决这个错误?弃用 : mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead

php - 从字符串中返回所有匹配的 css

mysql - 查询需要很长时间才能执行

themes - 如何在 Moodle 主题设置中创建自定义标记?

apache - 安装后moodle不能正常工作

alfresco - 将 Moodle 与 Alfresco 集成