我从MySQL获取的数组$ row有一些问题

时间:2011-12-28 08:10:22

标签: php php4

我从MySQL中获取的数组存在一些问题

$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
mysql_fetch_row($result);

echo $row[0]; // doesn't work
echo $row[1]; // doesn't work

但是这项工作

echo $row["FirstFieldName"] //OK
...

我该如何更改以下代码才能使其正常工作?

for ( $i = 0; $i < count( $row ); $i++ )
{
    echo $row[ $i ];
}

感谢

5 个答案:

答案 0 :(得分:2)

进行以下更改。使用mysql_fetch_array代替mysql_fetch_row()

mysql_fetch_row()从与指定结果标识符关联的结果中提取一行数据。该行作为数组返回。每个结果列都存储在一个数组偏移量中,从偏移量0开始。

 $result = mysql_query("SELECT id,email FROM people WHERE id = '42'");

$row=mysql_fetch_array($result);

for ( $i = 0; $i < count( $row ); $i++ )
{
    echo $row[ $i ];
}

答案 1 :(得分:1)

请尝试使用mysql_fetch_array()

您应该研究的三个功能是:

和mysql_fetch_row, mysql_fetch_array,和 mysql_fetch_assoc

每个人做的事情都有所不同。

以这种方式尝试:

$sql = "SELECT id,email FROM people WHERE id = '42'";
$result = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
  echo $row[0];
}

答案 2 :(得分:0)

$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
$row=mysql_fetch_array($result);

echo $row[0];
echo $row[1];

它会起作用

答案 3 :(得分:0)

mysql_fetch_row会返回一行,所以为了能够使用它,你应该这样做:

while( $row = mysql_fetch_row( $result ) ) 
{
    echo $row["email"];
}

否则,正如迈克所说,你应该使用mysql_fetch_array()

答案 4 :(得分:0)

ie ....这会获取所有检索到的键/字段并将它们互相交换并将它们移交给$ s,然后将其放入html中。

foreach($row as $key=>$val){
      $$key = $val;
      $s.= "<tr><td>".$key."</td><td>
      <input type=text size=88 name='".$key."' value='".$val."'></td></tr>";
      }
// end your php then onward to html
    <table>
    <?php echo $s;?>
    </table>