while (<FH>) { # ファイルの最後までループするよ〜 @data = split(/,/, $_); # カンマ区切りの1レコードをバラすよ〜 # ↓上でバラしたデータを使ってSQLを作るよ〜 $sql = "insert into TEST_TABLE ( NAME, SEX , AGE ) values( '$data[0]', '$data[1]', '$data[2]') "; eval{ $sth = $dbh->prepare( $sql ); $rv = $sth->execute; }; if( $@ ){ # SQL を実行したらエラーが発生しちゃったよ〜 # なんらかのエラー処理をするよ〜 } } |
# 先にあらかじめ SQL を準備させるよ〜 # その際、? ( ハテナ、クエスチョンマーク ) のところに値が入るからね〜 $sth = $dbh->prepare( "insert into TEST_TABLE ( NAME, SEX , AGE ) values( ?, ?, ?) " ); while (<FH>) { # ファイルの最後までループするよ〜 @data = split(/,/, $_); # カンマ区切りの1レコードをバラすよ〜 # 上でバラしたデータだけ(しかも配列を直接)渡して実行しちゃうよ〜 eval{ $rv = $sth->execute(@data); }; if( $@ ){ # SQL を実行したらエラーが発生しちゃったよ〜 # なんらかのエラー処理をするよ〜 } } |