質問: $db->prepare("SELECT * FROM user"); $sth->execute;#結果を取得しresに代入 print "$sth\n"; $sth->finish; exit; 上を実行した結果は、下記の通りです。 DBI::st=HASH(0x32706c4) closing dbh with active statement handles during global destruction. 私が思うに、データが$sthに帰って来ると思うのですが、 実際にはDBI::st=HASH(*****)のようなものしかかえってきません アドバイスをどうか宜しく御願いします (別カテゴリで似たような質問をさせていただきましたが、これはまた別です・・・)
回答: >print "$sth\n"; >私が思うに、データが$sthに帰って来ると思うのですが、 "SELECT * FROM user" の実行結果は複数行(の固まり)であり, $sthに格納されているのはその固まりを指す1つの値(HASH,ハッシュ)です。 実行結果を行として表示したいなら,fetchrow_系の関数を使うことになります。 下記ページ内で,キーワード"fetchrow_"を検索してください。