dポイントプレゼントキャンペーン実施中!

MySQLとDBIを使って、テーブルから取り出したデータの、カラムの名前をキー、フィールド値をバリューとした連想配列を作りたいのですが、どうすればいいでしょうか??

fetchrow_arrayの使い方は分かっているのですが、fetchrow_arrayだと配列しか作れないみたいなので・・ハッシュにしたいのです。

分かる方いらっしゃいましたらご教授よろしくお願いします。

A 回答 (3件)

while(my $hash= $result->fetchrow_hashref()) {


while(my($field,$value)= each(%$hash)) {
..
}
}
なお、SELECT table1.field,table2.field,... のように複数テーブルで同じフィールド名があると、うまくいかないという問題があります。
    • good
    • 0

連想配列にするなら、fetchrow_arrayではなくfetchrow_hashrefを使うと1行で済みます。



%HOGE = %{$result->fetchrow_hashref};

↑こうするだけでご希望通りの結果を得られます。
    • good
    • 0
この回答へのお礼

お礼遅れて申し訳ありません。教えていただいてた方法を色々試して解決しました。回答くださった方々ありがとうございましたm(__)m

お礼日時:2006/06/24 01:01

my %hash;



$hash["カラムの名前"]=フィールド値;

とすればいいですけど、、
連想配列の場合、1つのキーに基本1つの値なので、
複数のフィールド値の場合は、バリューを配列にする必要があります
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!