Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数据库检索数据_Php_Mysql_Foreach_Row - Fatal编程技术网

Php 从数据库检索数据

Php 从数据库检索数据,php,mysql,foreach,row,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) {

请帮我从数据库中检索数据并显示出来

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

我有:

    $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次

我做错了什么


非常感谢

在这种情况下,您不需要foreach

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

您的
$row
可能有2个元素,在
foreach
中,您的
echo$row['PHONE']
会为每个元素调用一次,在这种情况下,您不需要foreach

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

可能您的
$row
有2个元素,在
foreach
内部,您的
echo$row['PHONE']
会为每个元素调用一次删除
foreach
循环

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

删除
foreach
循环

while($row = mysql_fetch_assoc($result))
{  
 echo $row['PHONE'];
 echo $row['NAME'];
 echo $row['OTHER_FIELD'];
}
在while循环中执行print_r($row),在foreach循环中执行print_r($value)。 然后询问您为什么在$row元素的循环中回显$row。

在while循环中回显$row,在foreach循环中回显$value。
然后询问您为什么在$row元素的循环中回显$row。

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

示例-删除foreach()循环:

while($row=mysql\u fetch\u assoc($result)){
echo$row['PHONE'];
echo$row['NAME'];
回声“
”; }

我猜您有一个名为“name”的变量,但如果不只是将其替换为您确实拥有的变量,那么最后一个echo只需打印一行新行,以便于阅读。

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

示例-删除foreach()循环:

while($row=mysql\u fetch\u assoc($result)){
echo$row['PHONE'];
echo$row['NAME'];
回声“
”; }

我猜您有一个名为“name”的变量,但如果不只是将它换成一个,您就有了。最后一个echo只是打印了一行新行,以便于阅读。

非常感谢大家,现在我可以继续了!非常感谢大家,现在我可以继续了!