• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フェッチでデータが上書きされます)

フェッチでデータが上書きされる問題について

このQ&Aのポイント
  • perl + html + mysqlのコーディングで、複数フィールド+複数件のデータをテーブルから取得するためのSELECT文で、フェッチでデータが上書きされる問題が発生しています。
  • フェッチで取得したデータを配列に格納する段階で、上書きが発生しているため、表示されるデータが3件とも最後のデータになってしまっています。
  • 具体的にどこが上書きされているのかがわからず、問題を解決できません。ご教授いただけないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • g_p_
  • ベストアンサー率53% (28/52)
回答No.2

いや、 >$i=0; >while($selectdata[$i]=$sth->fetchrow_arrayref( >$i++; >} これを my @selectdata; while ( my $array_ref = $sth->fetchrow_arrayref ) { push @selectdata, [ @{$array_ref} ]; } みたいな感じで受け取ったリファレンスを一旦デリファレンスして、 その要素を含む新しい無名配列を生成すれば良いと思いますけど。

cup_10
質問者

お礼

返信ありがとうございます。 デリファレンス⇒無名配列でうまくできました。

その他の回答 (1)

  • g_p_
  • ベストアンサー率53% (28/52)
回答No.1

多分、 $sth->fetchrow_arrayref で取得した配列のリファレンスは全て同じだからだと思いますよ。多分。

cup_10
質問者

補足

返信ありがとうございます。 すると、通常perlを使用してデータのフェッチを行った後、 配列へデータの保存はできないのでしょうか。

関連するQ&A