我尝试从一个表中检索数组这段代码有什么问题?
$_fbexclude = mysql_query("SELECT fbempfang FROM fbinvite WHERE fbreturn = '1' ");
$fbexcludearray= mysql_fetch_array($_fbexclude);
// Convert the array
$excludes = implode(',', $fbexcludearray);
来自 echo $excludes;
它只给我以下响应:1000033xxx161,1000033xxx161
Twice the same fbempfang
最佳答案
查看以下内容是否能满足您的需求(已修复):
$_fbexclude = mysql_query("SELECT fbempfang FROM fbinvite WHERE fbreturn = '1'");
$fbexcludearray = array();
while ($row = mysql_fetch_assoc($_fbexclude)) {
$fbexcludearray[] = $row['fbempfang'];
}
// Convert the array
$excludes = implode(',', $fbexcludearray);
mysql_fetch_array()
它的 sibling (_assoc
, _row
) 一次只检索一行。这意味着您的原始代码只会给您第一个返回的行 - 为了解决这个问题,我们使用您在上面看到的循环。
您看到相同数据两次的原因是 mysql_fetch_array()
返回一个混合索引和关联数组,其中包含所有数据两次。因此,最好使用 mysql_fetch_assoc()
。或 mysql_fetch_row()
,因为您很少需要这两种格式。
其实用mysqli
会好很多,但同样的信息也适用于此。
关于php - mysql查询和内爆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8866617/