【问题标题】:PHP MySQL query outputs only a two-element arrayPHP MySQL查询仅输出一个二元素数组
【发布时间】:2013-03-07 07:15:34
【问题描述】:

我刚刚用 SQL 查询快速编写了一个小脚本。 现在当我去 phpmyadmin 并执行时

SELECT name FROM players WHERE online='1' ORDER BY name ASC

它输出想要的玩家(0TheMonk, Player, Veeve)

但是使用 PHP:

$query=mysql_query("SELECT name FROM players WHERE online='1' ORDER BY name ASC");
$query_array=mysql_fetch_array($query);
echo implode(',',$query_array);

它回响:0TheMonk,0TheMonk

代替:0TheMonk,Player,Veeve

它总是输出数组中的第一个玩家,两次。我究竟做错了什么? 提前致谢。

【问题讨论】:

标签: php mysql arrays fetch


【解决方案1】:

使用while循环

$query=mysql_query("SELECT name FROM players WHERE online='1' ORDER BY name ASC");
while($query_array=mysql_fetch_array($query))
{
    echo $query_array['name'].",";
}

【讨论】:

  • 谢谢,它确实有帮助,但现在我每个玩家都有两次。 0TheMonk,0TheMonkPlayer,PlayerVeeve,Veeve 那就更奇怪了O.o
  • 非常感谢您!
【解决方案2】:

试试这个:与 Sumits 的答案几乎相同。

$res    = array();
$query=mysql_query("SELECT name FROM players WHERE online='1' ORDER BY name ASC");
while($query_array=mysql_fetch_array($query))
{
    $res[]   = $query_array['name'];
}

echo implode(",",$res);

在这种情况下,不会有多余的,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-31
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 2022-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多