2016-08-24 83 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”)

当然,如果它是一个数字列,你应该使用的第一个。