- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フェッチでデータが上書きされます)
フェッチでデータが上書きされる問題について
このQ&Aのポイント
- perl + html + mysqlのコーディングで、複数フィールド+複数件のデータをテーブルから取得するためのSELECT文で、フェッチでデータが上書きされる問題が発生しています。
- フェッチで取得したデータを配列に格納する段階で、上書きが発生しているため、表示されるデータが3件とも最後のデータになってしまっています。
- 具体的にどこが上書きされているのかがわからず、問題を解決できません。ご教授いただけないでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
いや、 >$i=0; >while($selectdata[$i]=$sth->fetchrow_arrayref( >$i++; >} これを my @selectdata; while ( my $array_ref = $sth->fetchrow_arrayref ) { push @selectdata, [ @{$array_ref} ]; } みたいな感じで受け取ったリファレンスを一旦デリファレンスして、 その要素を含む新しい無名配列を生成すれば良いと思いますけど。
その他の回答 (1)
- g_p_
- ベストアンサー率53% (28/52)
回答No.1
多分、 $sth->fetchrow_arrayref で取得した配列のリファレンスは全て同じだからだと思いますよ。多分。
質問者
補足
返信ありがとうございます。 すると、通常perlを使用してデータのフェッチを行った後、 配列へデータの保存はできないのでしょうか。
お礼
返信ありがとうございます。 デリファレンス⇒無名配列でうまくできました。