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


I've some issues with an array $row fetched from MySQL

我对从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 ];
}

谢谢

执行以下更改。 使用 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 ];
}

尝试改用 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];
}
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
$row=mysql_fetch_array($result);
echo $row[0];
echo $row[1];

它会工作

mysql_fetch_row返回一行,因此为了能够使用它,您应该执行以下操作:

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

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

即....这将获取所有检索到的键/字段并将它们插入并将它们交给$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>