私は C# で作業しており、空いた時間に PHP を学んでいますが、明らかに mysql_fetch_array を使用して読み取られる foreach ループなど、常に問題があります
配列に到達すると、foreach ループの結果が表示されますは間違っていますが、while ループは問題ありません。以下は簡単なコードです
$query = "SELECT * FROM mytable";
$rows=mysql_fetch_array result);
foreach($rows as $val)
{
名前: ;
年齢: ;
}
mysql_fetch_array は 1 次元配列を返すため、そのように走査するのは当然間違っています。 print_r($rows); すれば分かります。
$rows=mysql_fetch_array($result); $rows は 1 次元配列です
in foreach($rows as $val) $val は配列ではなく値です。 $val['name'] のようなものはありません
while($row=mysql_fetch_array($result)){ $rows[] = $row;}foreach($rows as $val){ 姓名:<?php echo $val['name'];?>; 年龄:<?php echo $val['age'];?>;}
返されるのは 2 次元の配列ではありません。 -次元配列なので、このような走査には問題があります
foreach は配列の最初の次元をループします
$rows=mysql_fetch_array($result); その後、$rows は 1 次元配列になります
foreach( $rows as $val) ここで、$val は値であり、配列ではありません。 $val['name'] などはありません。
これが欲しいと思います:
while($row=mysql_fetch_array($result)){ $rows[] = $row;}foreach($rows as $val){ 姓名:<?php echo $val['name'];?>; 年龄:<?php echo $val['age'];?>;}
for ループを使用できます
$result = mysql_query($query);for(; $val=mysql_fetch_array($result); ){ ?> 姓名:<?php echo $val['name'];?>; 年龄:<?php echo $val['age'];?>;<?php }
foreach は配列のみをループできます
for ループを使用できます
$result = mysql_query($query);for(; $val=mysql_fetch_array($result); ){ ?> 姓名:<?php echo $val['name'];?>; 年龄:<?php echo $val['age'];?>;<?php }
foreach は配列のみをループできます
for ループも使用できます
$result = mysql_query($query);for(; $val=mysql_fetch_array($result); ){ ?> 姓名:<?php echo $val['name'];?>; 年龄:<?php echo $val['age'];?>;<?php }
したがって、すべてのデータを取得するには、mysql_fetch_array($result); をループ内に配置する必要があります。