Moodle

PostgreSQL error: Empty string instead of integer in the query

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: 1.8.5
  • Fix Version/s: 1.8.5, 1.9, 2.0
  • Component/s: Feedback
  • Labels:
    None
  • Environment:
    Spotted at MOODLE_18_STABLE checked out from CONTRIB
  • Database:
    PostgreSQL
  • Affected Branches:
    MOODLE_18_STABLE
  • Fixed Branches:
    MOODLE_18_STABLE, MOODLE_19_STABLE, MOODLE_20_STABLE

Description

PostgreSQL does not like queries with
... WHERE id = ''

The following code in mod_form.php (around line# 61) throws error:

if ($feedback = get_record("feedback", "id", $this->_instance)) {
$completedFeedbackCount = feedback_get_completeds_group_count($feedback);
} else {
$completedFeedbackCount = false;
}

My proposal is to use:

if (is_numeric($this->_instance) && ($feedback = get_record("feedback", "id", $this->_instance))) {
$completedFeedbackCount = feedback_get_completeds_group_count($feedback);
} else {
$completedFeedbackCount = false;
}

Activity

Hide
Andreas Grabs added a comment -

Thank you! I have included your code.

Show
Andreas Grabs added a comment - Thank you! I have included your code.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: