2016-06-11 88 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英格蘭 –

相關問題