データベースから 6 つの画像 URL を取得し、mysql_fetch_array を使用して取得した値を配列 $row に渡しますが、$row を出力すると、取得した 6 つの URL がすべて $row[0] に集中していることがわかります]、$row[1 が出力される] とエラーが表示されます。コードは次のとおりです:
$conn=mysql_connect("localhost","root");mysql_select_db("xinshi");$sql="select image from photo order by id desc limit 6";$result=mysql_query($sql);//while ($row=mysql_fetch_array($result)){//print_r($row);}$row=mysql_fetch_array($result,MYSQL_NUM);print_r($row); mysql_close($conn);
while を使用しない場合、mysql_fetch_array はレコードの配列を返すだけなので、0 のみが値を持ちます
while を使用する場合、while ($row=mysql_fetch_array($result)) は$row の値を変更しても、$row 自体の配列要素の数は変わりません。
上の階が正解です。LZ が配列を必要とする場合は、次のように記述できます
include "mysqlconnect.php";
$result=mysql_query($ sql);
while ($row=mysql_fetch_array($result)) {
$arr[]=$row; }
print_r($arr);
while を使用しない場合は、 records の配列を返すので、値を持つのは 0 だけです
while を使用すると、while ($row=mysql_fetch_array($result)) は常に $row の値を変更し、$row 自体の配列要素の数は変更されません。
では、これら 6 つの値を抽出するにはどうすればよいでしょうか?この6つのURLをページ上のに接続して表示したいです
$sql ='mealuid を食事テーブルから選択';
$result=mysql_query($sql);
$arr[]=$row;
}
print_r ($arr);
?>
これが出力されます
[0] => Array ( [0] => .jpeg [画像] = > アップロード/2013/05/08/14303.jpeg )
[1] => 配列 ( [0] => アップロード/2013/05/03/14297 [画像] =>アップロード/2013/05/ 03/14297 )
[2] => 配列 ( [0] => アップロード/2013/05/03/14299.i [画像] => アップロード/2013/05/03/ 14299.i )
[ 3] => 配列 ( [0] => アップロード/2013/05/03/14301.a [画像] => アップロード/2013/05/03/14301.a )
[ 4] => 配列 ( [0] => アップロード/2013/05/03/137.image/jpeg [画像] => アップロード/2013/05/03/137.image/jpeg )
[5] => 配列 ( [ 0] => アップロード/2013/05/03/14302image/jpeg [画像] => アップロード/2013/05/03/14302image/jpeg )
)
何が起こっているのでしょうか?この構造は何を意味するのでしょうか?
while ($row=mysql_fetch_array($result)) { echo "<img src='$row[0]' />\n";}
while ($row=mysql_fetch_array($result)) { echo "<img src='$row[0]' />\n";}
}
print_r($arr);
<?phpinclude "mysqlconnect.php";$sql ='select mealuid from mealtable';$result=mysql_query($sql);while ($row=mysql_fetch_array($result)) { $arr[] = $row[0];}print_r($arr);?>
1 次元配列? ? ? ?
これでいいはずです