州と都市を取り込んで 10 個のフィールドを吐き出す db クエリを使用しています。現在、これらのフィールドは print_r を使用してのみ表示できます。フィールドを出力するための for ループのphp マニュアル サイトで提案を試みましたが、適切に動作させることができません。コードは次のとおりです。
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
print_r($row)."</p>";
$arrayLength = count($row);
for ($i = 0; $i < $arrayLength; $i++){
echo "arrayName at[" . $i . "] is: [" .$row[$i] . "]<br>\n";
}
}
}
そして、これは結果です:
Array ( [id] => 1299 [zip_code] => 04011 [city] => Brunswick [county] => Cumberland [state_name] => Maine [state_prefix] => ME [area_code] => 207 [time_zone] => Eastern [lat] => 43.9056 [lon] => -69.9646 ) ....
arrayName at[0] is: []
arrayName at[1] is: []
arrayName at[2] is: []
arrayName at[3] is: []
arrayName at[4] is: []
arrayName at[5] is: []
arrayName at[6] is: []
arrayName at[7] is: []
arrayName at[8] is: []
arrayName at[9] is: []
フィールドとその値を正しく印刷できない理由はありますか? また、現在のコードが実際には対応していないため、クエリが複数の行を返す場合、私のコードは失敗します。
for ループの本体に $i を入れて、正しく動作しているかどうかを確認しました。理想的には、$i がフィールド名であり、コロンの後にその右側に値があります。