Hello,
When submitting my form (on an enrolment module) I get the following error:
Can not find data record in database table course.
More information about this error
Debug info: SELECT * FROM {course} WHERE id = ?
[array (
0 => 0,
)]
Error code: invalidrecord
Stack trace:
line 1385 of \lib\dml\moodle_database.php: dml_missing_record_exception thrown
line 1361 of \lib\dml\moodle_database.php: call to moodle_database->get_record_select()
line 36 of \enrol\index.php: call to moodle_database->get_record()
The code goes as follows:
require_once('key_form.php');
$enrolform = new enrol_paypal_key_form();
if ($fromenrolform = $enrolform->get_data()) {
// Form was validated
echo "submitted";
include($CFG->dirroot.'/enrol/paypal/enrol.html');
} else {
// Form has not been submitted or not validated
$enrolform->set_data(required_param('id', PARAM_INT));
$enrolform->display();
}
The form class (enrol_paypal_key_form):
function definition() {
global $DB, $CFG;
$mform = $this->_form;
$mform->addElement('hidden', 'id');
$mform->setType('id', PARAM_INT);
$mform->addElement('hidden', 'courseid');
$mform->setType('courseid', PARAM_INT);
$mform->addElement('text', 'enrolkey', get_string('enrolkeyform', 'enrol_paypal'));
$mform->setType('enrolkey', PARAM_ALPHANUM);
$this->add_action_buttons(FALSE,get_string('submit'));
}
function validation($data, $files) {
global $DB, $CFG;
return array();
}
I don't quite understand what I'm missing here. I don't recall making a database query.
My Questions are:
- Why am I getting a database error?
- Why does my courseid parameter disappear once I submit the form?
Thank you,
Daniele