查询输出数据两次

Gle*_*enn 0 php mysql arrays echo

我有以下代码段:

<?php
$query = mysql_query("SELECT * FROM users") or die(mysql_error());
echo "<table>";

while ($row = mysql_fetch_array($query))
{
    echo "<tr>";

    foreach($row as $value)
    {
        echo "<td>".$value."</td>";
    }

    echo "</tr>";

}

echo "</table>";?>
Run Code Online (Sandbox Code Playgroud)

我认为,这个片段应该从表中输出一次数据.问题是,我得到了两次.所以,例如

me@email.com me@email.com Joe Joe Bloggs Bloggs

为什么会这样呢?

Bar*_*chs 6

默认情况下,mysql_fetch_array同时使用numeric和associative(MYSQL_BOTH),每个都有两个键.

如果您想要数字键,请使用

while ($row = mysql_fetch_array($query, MYSQL_NUM))
Run Code Online (Sandbox Code Playgroud)

如果你想要关联数组,使用:

while ($row = mysql_fetch_array($query, MYSQL_ASSOC))
Run Code Online (Sandbox Code Playgroud)

另请注意,mysql_*函数已弃用,您应该使用MySQLi或PDO.