[[Perl]]


#DB
$DBname = "***";
$TableName = "***";
$DBID = "***";
$DBPW = "***";


sub DB{
	#DB
	$DBname = "***";
	$TableName = "***";
	$DBID = "***";
	$DBPW = "***";
	
	&DB($query,"1");#update
	
	sub DB{
        my $query = shift @_;
        my $updateCheck = shift @_;#「1」であれば、update
        my $line;
        my @L;


        #print "query $query\n";

        #DBI モジュールの読み込み
        use DBI;
        # データソースの指定
        $dsn = "DBI:mysql:$DBname:www:3306";
        # データソース
        $dsn = "DBI:mysql:$DBname";
        # ユーザ名
        $user = $DBID;
        # パスワード
        $password = $DBPW;
        # データベースへ接続
        $dbh = DBI->connect($dsn, $user, $password,
            { RaiseError => 1, AutoCommit => 0 });
        # prepareが成功した場合、ステートメントハンドルが返されます
        my $sth = $dbh->prepare(
            #"SELECT * FROM テーブル名"
            "$query"
        );
        # SQL文の実行
        $sth->execute;
        # データの取得と出力
        if($updateCheck == 0){#Updateの場合出力しない
                while(@row = $sth->fetchrow_array) {
                    undef $line;
                    for($i=0;$i<@row;$i++){
                        $line .= "$row[$i]\t";
                    }
                    push(@L,$line)
                }
        }
        #反映されるための処理
        my $success = 1;
        my $result = ($success ? $dbh->commit : $dbh->rollback);
        unless ($result) {
                die "Can not finish transaction: " . $dbh->errstr;
        }

        $sth->finish;
        $dbh->disconnect;

        return @L;
}
	}