The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

PowerTools::Data - Additional Perl tool for Apache::ASP - MySQL database connection

SYNOPSIS

        use PowerTools::Data;
        
        # Create new object using params

        my $db = PowerTools::Data->new(
                # Username
                username => 'mysql',                    # default 'root'
                # Password
                password => 'grendel1981',              # default ''
                # Database name
                database => 'test',                     # default 'test'
                # Hostname
                hostname => 'localhost,                 # default 'localhost';
                # Port
                port => 3306,                           # default 3306;
                # Protocol compression (0/1)
                compression => 1,                       # default 1;
                # DBI's RaiseError (0/1)
                errors => 1,                            # default 1;
                # DBI's AutoCommit (0/1)
                commit => 1                             # default 1;

        );

        # Create new object using .INI file

        my $db = PowerTools::Data->new(
                # Path to .INI file
                ini => 'test.ini'                       # default ''
        );

        # Note: You can change .ini extension to other
        # Remember to secure choosen extensions name in Your Apache config

        # Connects to database
        my $conn = $db->connect;

        # Connection status (0 - FAIL/1 - OK)
        my $s = $db->status;
        print "STATUS $s\n";

        # MySQL Server info
        my $s = $db->{_SERVER_INFO};
        print "SERVER $s\n";

        # MySQL Server host info
        my $s = $db->{_HOST_INFO};
        print "HOST $s\n";

        # Executes SQL statement
        my $ex = $db->execute("INSERT INTO test (test_val1,test_val2) VALUES ('a','b')");

        # Items count
        my $cn = $db->count;
        print "COUNT INSERT $cn\n";

        # Last inserted item
        my $lt = $db->last;
        print "LAST ITEM $lt\n";

        # Query execute time
        my $tk = $db->took;
        print "TOOK $tk\n";

        # Parse query result

        while(!$db->eof) {
                my $str = "-> ".$db->field('test_id').", ".$db->field('test_val1').", ".$db->field('test_val2').", ".$db->field('test_val3');
                print "$str\n";
                $db->movenext;
        }

        # Additional tools

        # Get (in MySQL format) current: date ('GET_MYSQL_DATE'), datetime ('GET_MYSQL_DATETIME'), time ('GET_MYSQL_TIME'), timestamp ('GET_MYSQL_TIMESTAMP')
        my $cur = $db->tools('GET_MYSQL_TIMESTAMP');
        print "$cur\n";

        # Returns time object from MySQL's: date ('RETURN_TIME_DATE'), datetime ('RETURN_TIME_DATETIME'), timestamp ('RETURN_TIME_TIMESTAMP')
        my $cur = $db->tools('RETURN_TIME_TIMESTAMP',$cur);
        print "$cur\n";

AUTHOR

Piotr Ginalski, <office@gbshouse.com>

COPYRIGHT AND LICENSE

Copyright (C) 2007 by A. U. Thor

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.