mysql查询和内爆

Phi*_* M. 1 php mysql arrays facebook implode

我尝试从一个表中检索一个数组这个代码有什么问题?

$_fbexclude = mysql_query("SELECT fbempfang FROM fbinvite WHERE fbreturn = '1' ");
$fbexcludearray= mysql_fetch_array($_fbexclude);

// Convert the array 
$excludes = implode(',', $fbexcludearray);
Run Code Online (Sandbox Code Playgroud)

echo $excludes;它只给出了以下响应:1000033xxx161,1000033xxx161两次相同的fbempfang

Dav*_*dom 5

看看下面是否给你你想要的东西(FIXED):

$_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);
Run Code Online (Sandbox Code Playgroud)

mysql_fetch_array()并且它的兄弟姐妹(_assoc,_row)一次只能检索一行.这意味着您的原始代码只会为您提供第一个返回的行 - 要解决此问题,我们使用您在上面看到的循环.

您两次看到相同数据的原因是mysql_fetch_array()返回一个混合索引和关联数组,其中包含两次所有数据.出于这个原因,使用mysql_fetch_assoc()或更好mysql_fetch_row(),因为您很少需要这两种格式.

事实上,使用起来要好得多mysqli,但同样的信息也适用于此.