ClockRoom

コストは無知に比例する | 運営ノート

コストは無知に比例する

Perlでデータベースのレコードをハッシュで取得する簡単な方法があるなんて知らなかったよぉ(T^T) 現在は以下の構文を使用しておりますが・・・

$query=$dbi->selectall_arrayref($sql,{},@bind);

この場合の$queryは「配列の参照の配列の参照」なのです。 フィールド値の取得は「3番目のレコードの2番目のフィールド」などと指定します。

$value=$$query[3][2];

フィールドの順番を知らないと取得できない(ノД`)

selectのフィールド名に“*”は使えません。 面倒です。 てゆーか、馬鹿馬鹿しいです。 というわけで、以下の構文を使用すると ────

$query=$dbi->selectall_arrayref($sql,{Columns=>{}},@bind);

不思議なことに$queryは「ハッシュの参照の配列の参照」なのです。 フィールド値の取得は「3番目のレコードの“hoge”フィールド」などと指定します。

$value=$$query[3]{hoge};

直感的です。 てゆーか、本来はこうあるべきです。 いやはや、参りました。 今の今まで頑張ってたのがすべて水の泡(爆) これはいよいよ、本当の本気で運営ノートのリファクタリングが必要かも(^^;

コメント

名前
内容
送信

※URLを含むコメントはできません。