2016-11-15 53 views
1

我有在它的3個值的數組。這三個值根據用戶帳戶而變化(用於通過其id來引用恢復問題)。生成每個項目MySQL查詢以陣列

當他們提交表單與他們的電子郵件地址,系統會檢查它,如果它的存在得到了他們3復甦問題的ID,其在不同的數據庫存儲,並從他們的帳戶3個答案。

那麼它存儲的信息到這樣一個數組:

<?php 
    $questions = Array($question1id, $question2id, $question3id); 
?> 

我怎樣才能讓這個陣列,將查詢像這樣

Select * FROM recovery_questions WHERE rid='$val' 

,並返回,對於每一個問題和一個foreach()它們存儲在像$cleanquestion1$cleanquestion2$cleanquestion3獨立的變量?

每次我嘗試我改寫最後的價值和讓我感到沮喪。謝謝

+1

爲什麼沒有發出1個語句SELECT * FROM說這樣recovery_questions你找回所有的3合1的呼叫'WHERE擺脫在($ question1id,$ question2id,$ question3ID)爲了通過rid'? – xQbert

+0

這似乎是可行的,但我怎麼會分別打電話給他們?我不經常捆綁我的查詢,這就是爲什麼我問。我想像它像$ row [0],$ row [1]等等? – Kaboom

+0

假設使用PDO的下面是一個例子的鏈接:http://stackoverflow.com/questions/1756743/how-to-loop-through-a-mysql-result-set – xQbert

回答

1
<?php 
$a = 1; 
$questions = Array($question1id, $question2id, $question3id); 
foreach ($questions as $v){ 
    $sel = "Select * FROM recovery_questions WHERE rid='$v'"; 
    $stmt = $db->query($sel); 
    while($r = $stmt->fetch()){ 
      $qvar = "cleanquestion".$a; 
      $qqvar = $<<results>> 
    } 
    $a++; 
} 
?> 

替換結果與無論你從數據庫返回。

然後

echo $cleanquestion1 

將導致與任何question1id的結果。