Php Mysql查询给我错误的输出

时间:2012-12-18 15:08:34

标签: php mysql

我有Mysql查询的问题。我写了这段代码

enter code here
$result = mysql_query("SELECT * FROM description");
        while ($row = mysql_fetch_array($result)){
              $data[] = $row;
                   foreach ($data as $row){
                       echo $row['name'];
           }
     }



enter code here

我的输出是:

First description
First description
Second description
First description
Second description
Third description

我在db(第一,第二,第三)中有3个描述,我不知道他为什么给我这样的东西。

有谁知道出了什么问题?

3 个答案:

答案 0 :(得分:5)

您需要在while循环后将其移至:

       foreach ($data as $row) {
           echo $row['name'];
       }

首先,您在$data变量中获取所有行,然后才开始回显它们。

答案 1 :(得分:2)

mysql_fetch_array()返回一个双数组:整数AND字符串键控。如果你做完了:

    while ($row = mysql_fetch_array($result)){
       var_dump($row);
    }

你会看到两个键。请尝试使用mysql_fetch_assoc(),而只返回字符串键版本。

答案 2 :(得分:1)

你的foreach循环在你的while循环中。把它移到外面试试。

   $result = mysql_query("SELECT * FROM description");
    while ($row = mysql_fetch_array($result)){
          $data[] = $row;
   }
   foreach ($data as $row){
       echo $row['name'];
   }