2016-08-24 81 views
0

我想查詢所有的結果,其中包含surveyid我的數組$ subscibearray。問題是SQL查詢只返回第一個結果(在這種情況下是44)而不是所有的結果。我也嘗試使用mysql_fetch_array,但沒有任何成功。我的結果通過表格輸出。任何幫助,將不勝感激。爲了方便閱讀,我省略了儘可能多的代碼。

陣列格式:

$subscribearray = "" . join(', ',$subscribearray) . ""; 

var_dump$subscribearray的:

string(17) "'44, 35, 194, 36'" 

查詢:

$result = mysql_query("SELECT * 
         FROM surveys 
         WHERE surveyid IN ($subscribearray) 
         ORDER BY peercompletetime DESC 
         LIMIT 100") 
or die(mysql_error()); 
+0

請添加代碼如何輸出您的記錄。 –

+1

也解釋 - 爲什麼你把ID放在'''中? –

+0

我應該刪除它們嗎?抱歉。 – alicia233

回答

1

您應該:

$subscribearray = join(',', $subscribearray); // 1,2,3 

或者:

$subscribearray = "'" . join("','", $subscribearray) . "'"; // '1','2','3' 

如果你包的所有ID用字符串,它會查找字符串,而不是分隔值。 (「1,2,3」)

當然,如果它是一個數字列,你應該使用的第一個。