我正在尝试查询surveyid包含我的数组$ subscibearray的所有结果。问题是SQL查询只返回第一个结果(在这种情况下为44)而不是所有结果。我尝试使用mysql_fetch_array也没有任何成功。我的结果通过表输出。任何帮助,将不胜感激。我省略了尽可能多的代码以使其易于阅读。
数组格式:
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());
查询:
resource.error
答案 0 :(得分:1)
你应该:
$subscribearray = join(',', $subscribearray); // 1,2,3
或者:
$subscribearray = "'" . join("','", $subscribearray) . "'"; // '1','2','3'
如果用字符串包装所有id,它将查找字符串,而不是分隔值。 (' 1,2,3&#39)
当然,如果它是一个数字列,你应该使用第一个。