我对从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>