mysql_fetch_array中的数组。无法使其发挥作用

时间:2012-04-21 10:10:04

标签: php mysql arrays

要显示mysql表中的一些数据,我习惯的常用方法是:

while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
     echo $row['FIELD'];
}

现在为了让事情变得更有活力,我试过这个:

/* $array carries list of column names like 'FIELD'. In this case its the only one
 * $result stores whatever the query like "SELECT * FROM TABLE1" returned
 */
function dosomething($array, $result) 
{
     while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
     {
          for($i = 0; $i < sizeof($array); $i++)     //gets size of $array and loops
          {
              echo $row["'".$array[$i]."'"];         //should read $row['FIELD'] yes?
          }
     }
}

上面的代码没有显示任何内容。数据存在。 echo $ row ['FIELD'];返回一些东西但行

echo $row["'".$array[$i]."'"];

没有任何回报。我尝试过像 -

这样的替代品
echo $row[$array[$i]];

仍然没有。

我希望我能让读者理解这个问题。如何在mysql_fetch_array类型数组中放入一个数组?

欢迎任何建议。

3 个答案:

答案 0 :(得分:0)

试试这个......

$ array = array(“table fields”);

table fielda是id,name,value。

你应该把它放在数组中。

 $array=array('id','name','value');


 function dosomething($array, $result) 
 {
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
    {
        for($i = 0; $i < sizeof($array); $i++)     //gets size of $array and loops
        {
            echo $row[$array[$i]];         //should read $row['FIELD'] yes?
         }
    }
 }

答案 1 :(得分:0)

while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
    foreach ($row as $key => $field)
    {
        echo "$key: $value";
    }
}

要显示的字段,您必须在查询中定义
拥有像dosomething()

这样的功能是没有意义的

答案 2 :(得分:-1)

为什么使用$row["'".$array[$i]."'"]这个?我认为试试$row["'".$array."'"]

确保数组不为空并调用函数