我试图从一个表中检索数组此代码有什么问题?
$_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
两倍相同的fEmpfang 最佳答案
看看以下内容是否满足了您的要求(已修复):
$_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()
它的同级(_assoc
,_row
)一次只能检索一行。这意味着您的原始代码将只给您返回的第一行-为了解决这个问题,我们使用您在上面看到的循环。两次看到相同数据的原因是
mysql_fetch_array()
返回一个混合索引和关联数组,其中包含两次以上的所有数据。因此,最好使用mysql_fetch_assoc()
或mysql_fetch_row()
,因为您很少同时需要这两种格式。事实上,使用
mysqli
更好,但同样的信息也适用于此。关于php - MySQL查询和内爆,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8866617/