php - mysql查询和内爆

标签 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; 它只给我以下响应: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/

相关文章:

java - 我如何确定我是否在JAVA中的2D数组的 'edge'上?

检查数组的长度

php - 如何确保 Laravel Blade 中的唯一 ID?

php - 带有 Apache 和 MySQL mysqli_connect 的 Docker PHP 5.6.23 不是添加了扩展的函数

php - 停止机器人快速发送多个请求。 PHP + AJAX

mysql - 仅使用 root 密码访问 MySQL 数据库

javascript - 为什么 array.splice() 在用于变量的副本时会更改变量?

PHP - 从两个 JPEG 图像创建简单的动画 GIF?

php - Twig 中是否有与 PHP 的提取物等效的函数?

mysql - 从两个表中获取数据并从表 A 中获取所有行