2016-06-11 40 views
1

我想从moodle数据库中选择所有记录,其中id等于某个变量。可以告诉我什么是moodle数据操作API语法。使用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 enter image description here

+1

你不应该分别代替PARAMS SQL查询直接,它可以导致SQL注入。 –

+0

你是什么意思由“我得到” – gba

+0

我只得到价值71 –

回答

0

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')); 
+0

谢谢@Russell英格兰 –

相关问题