我有以下片段:
<?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/