php - 两次查询输出数据

标签 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>";?>

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

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

为什么会这样?

最佳答案

默认情况下,mysql_fetch_array同时执行数字和关联 (MYSQL_BOTH),分别为您提供两个键。

如果你想要数字键,使用

while ($row = mysql_fetch_array($query, MYSQL_NUM))

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

while ($row = mysql_fetch_array($query, MYSQL_ASSOC))

另请注意,mysql_* 函数已被弃用,您应该改用 MySQLi 或 PDO。

关于php - 两次查询输出数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15486152/

相关文章:

php - mysql 查询 - 仅选择另一个表中的 id = id 且该表中的字段 = 值

java - Java 中的匿名数组

javascript - 减少和合并对象集合的最佳方法是什么

php - 如何完美使用redis中的五种数据结构

php - 如何使 CakePHP 重定向到不同的操作/ Controller ?

php - mysql 上的日期始终为 1970

javascript - 对json转XML后的结果进行排序

javascript - PHP/如何使用提交按钮发布下拉菜单选项

php - 在 CodeIgniter 中的 View 中包含 View 的最佳方法

mysql - 编写 MySQL 插件