我从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 ];
}
感谢
答案 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>