2015-07-01 85 views
0

我有一个表单,用户可以添加课程,当用户单击编辑按钮时,他被重定向到另一个页面,以修改表单中的数据。但是当用户点击保存按钮时,什么都不会发生。出现空白页面。在正常情况下,“成功”需要出现在页面上。Moodle SQL更新数据库中的特定记录不工作

代码它处理的更新查询:

<?php 

require_once(dirname(dirname(dirname(__FILE__))) . '/config.php'); 

global $DB; 

$id = required_param('facid', PARAM_TEXT); 
$name = required_param('name', PARAM_TEXT); 
$course_detail = required_param('course_detail', PARAM_TEXT); 
$course_outline = required_param('course_outline', PARAM_TEXT); 
$course_obj = required_param('course_obj', PARAM_TEXT); 
//$programme = required_param('programme', PARAM_TEXT); 

$update = $DB->execute_sql("UPDATE {courses} SET name = '$name' AND course_detail = '$course_detail' WHERE id = '$id'"); 

if(!$update) 
{ 
    echo "Could not update"; 
} 

else 
{ 
    echo "Successful"; 
} 

?> 

我可以理解的SQL语句是错误的,但我似乎无法修复它,因为它是从我学到的PHP代码完全不同。我也试过检查这个link,但似乎无法找到答案。我是Moodle的新手。
请帮忙吗?

回答

0

我终于可以解决它,所以我想为未来的新Moodle开发者发布答案。

代码:

<?php 

require_once(dirname(dirname(dirname(__FILE__))) . '/config.php'); 

global $DB; 

$id = required_param('facid', PARAM_TEXT); 
$name = required_param('name', PARAM_TEXT); 
$course_detail = required_param('course_detail', PARAM_TEXT); 
$course_outline = required_param('course_outline', PARAM_TEXT); 
$course_obj = required_param('course_obj', PARAM_TEXT); 
//$programme = required_param('programme', PARAM_TEXT); 

$record = new stdclass; 
$record->id = $id; 
$record->name = $name; 
$record->course_detail = $course_detail; 
$record->course_outline = $course_outline; 
$record->course_obj = $course_obj; 


$sql = $DB->update_record('courses', $record); 


if(!$sql) 
{ 
    echo "Could not update"; 
} 

else 
{ 
    echo "Successful"; 
} 

?>