1

我想从moodle数据库中选择id等于某个变量的所有记录。谁能告诉我moodle数据操作API的语法是什么。

这是mysql查询

Select question from mdl_answers where id=$questionid;

我努力了

$queid[]= $queid[] = $DB->get_field('question_answers', 'id', array('question' => $questionid), MUST_EXIST);
$true=$queid[0];   // this i get
$false=$queid[1];   //this remains empty

但它只提供一条记录,而我有多个与此 ID 相关联的记录。

正如您在图片记录中看到的那样,71 和 72 在下一列中具有相同的值 48 我想获得这些 id 71 和 72 在此处输入图像描述

4

1 回答 1

1

get_field()只会返回一个值。

要么使用get_records()- https://docs.moodle.org/dev/Data_manipulation_API#Getting_an_hashed_array_of_records

$answers = $DB->get_records('question_answers', array('question' => $questionid));
foreach ($answers as $answer) {
    switch ($answer->answer) {
        case 'True':
            $true = $answer->id;
            break;
        case 'False':
            $false = $answer->id;
            break;
      }
}

或者get_field()像这样使用

$true = $DB->get_field('question_answers', 'id', array('question' => $questionid, 'answer' => 'True'));
$false = $DB->get_field('question_answers', 'id', array('question' => $questionid, 'answer' => 'False'));
于 2016-06-12T05:01:57.367 回答