Php mysql查询和内爆

Php mysql查询和内爆,php,mysql,arrays,facebook,implode,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); 从echo$excludes它只给了我以下回应:10000

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

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

// Convert the array 
$excludes = implode(',', $fbexcludearray);

echo$excludes
它只给了我以下回应:
1000033xx1611000033xx161
两次相同的FBEMPANG

看看下面是否给了你想要的(修复了):

它的同级(
\u assoc
\u row
)一次只能检索一行。这意味着您的原始代码只会给您返回的第一行-为了解决这个问题,我们使用上面看到的循环

您看到相同数据两次的原因是
mysql\u fetch\u array()
返回一个混合索引和关联数组,该数组包含所有数据两次。因此,最好使用or,因为您很少需要这两种格式


事实上,使用它要好得多,但同样的信息也适用于此。

看看下面的内容是否能满足您的需要(已修复)):

它的同级(
\u assoc
\u row
)一次只能检索一行。这意味着您的原始代码只会给您返回的第一行-为了解决这个问题,我们使用上面看到的循环

您看到相同数据两次的原因是
mysql\u fetch\u array()
返回一个混合索引和关联数组,该数组包含所有数据两次。因此,最好使用or,因为您很少需要这两种格式

事实上,使用它要好得多,但同样的信息也适用于此。

试试这个尺寸:

$implode_arr = array();
$_fbexclude = mysql_query("SELECT fbempfang 
                           FROM fbinvite 
                           WHERE fbreturn = '1'");
while($row = mysql_fetch_array($_fbexclude)) {
    $implode_arr[] = $row['fbempfang'];
}

// Convert the array 
$excludes = implode(',', $implode_arr);
您需要循环使用
mysql\u fetch.*
函数,因为它们一次只返回一个结果行。有关更多信息和示例,请参见。

尝试此尺码:

$implode_arr = array();
$_fbexclude = mysql_query("SELECT fbempfang 
                           FROM fbinvite 
                           WHERE fbreturn = '1'");
while($row = mysql_fetch_array($_fbexclude)) {
    $implode_arr[] = $row['fbempfang'];
}

// Convert the array 
$excludes = implode(',', $implode_arr);
您需要循环使用
mysql\u fetch.*
函数,因为它们一次只返回一个结果行。有关更多信息和示例,请参见。

使用正确的SQL查询:

SELECT GROUP_CONCAT(`fbempfang`) as imploded from `fbinvite`  WHERE fbreturn = '1'
它的返回字符串为PHP
introde(',',array(…)

使用正确的SQL查询:

SELECT GROUP_CONCAT(`fbempfang`) as imploded from `fbinvite`  WHERE fbreturn = '1'

它的返回字符串为PHP
introde(',',array(…)

您只获取一次行,因此它只创建一个元素的数组
$fbecludearray[“fbempfang”]
。这可能会导致问题(我想你想得到一个包含所有行的数组)是的,这是正确的,我想得到一个包含所有行的数组。你只提取一次行,因此它只创建一个包含一个元素的数组。这可能会导致问题(我想你想得到一个所有行的数组)是的,它是正确的,我想得到一个所有行的数组感谢伟大而有用的答案,这是非常快速的感谢伟大而有用的答案,这是非常快速的感谢伟大而有用的答案,这是非常快速的Fantástico,谢谢你的回答,这是一个非常快速的回答,这是一个非常快速的回答。