从数据库中检索数据

时间:2010-12-23 13:10:06

标签: php mysql foreach row

请给我一只手从数据库中检索数据并显示它。

我正在学习,这让我无法前进:(

我有:

    $result = mysql_query($sql);
    $num_reg = mysql_num_rows($result); 
    echo $num_reg; // this shows 3 

    while($row = mysql_fetch_assoc($result))
      {  

        foreach($row as  $value)
       {  


    //Now I need to operate with the rows values.

echo $row['PHONE'];

但这不是打印电话号码,而是每次打印5次

我做错了什么?

非常感谢

4 个答案:

答案 0 :(得分:3)

删除foreach循环

while($row = mysql_fetch_assoc($result))
{  
 echo $row['PHONE'];
 echo $row['NAME'];
 echo $row['OTHER_FIELD'];
}

答案 1 :(得分:1)

在这种情况下你不需要foreach

while($row = mysql_fetch_assoc($result))
{  
    echo $row['PHONE'];
}

您的$row可能包含2个元素,foreachecho $row['PHONE']为每个元素调用一次

答案 2 :(得分:1)

在while循环中执行print_r($ row),在foreach循环中执行print_r($ value)。 然后问你为什么在$ row元素的循环中回显$ row。

答案 3 :(得分:1)

你不需要在while()循环中使用第二个foreach()循环来处理这些值。你在这里做的是循环遍历行然后循环遍历值,但如果你已经通过$ row变量访问了值,则不需要再次循环。您获得5次电话号码的事实表明您的表格中有5列。

示例 - 删除foreach()循环:

while($row = mysql_fetch_assoc($result)){
    echo $row['PHONE'];
    echo $row['NAME'];
    echo "<br />";
}

我猜你有一个名为“name”的变量,但如果不是只换一个你有的变量。最后一个回显只是打印一个新行,以便于阅读。