The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

DBIx::Wrapper::VerySimple - Simplify use of DBI

VERSION

0.051

SYNOPSIS

use DBIx::Wrapper::VerySimple;
$db = DBIx::Wrapper::VerySimple->new( $dsn, @other_args ); 
$hashref = $db->FetchHash($sql, @bind_values);
$arrayref = $db->FetchAll($sql, @bind_values);
$rv       = $db->Do($sql, @bind_values);
$original_args = $db->get_args();  # arrayref
$dbh      = $db->dbh();  # Raw DBI database handle

DESCRIPTION

Provides a wrapper around DBI.

Note: the reason we don't test the connection and attempt to reconnect is that this module is most likely used in a web environment with mod_perl and Apache::DBI, and Apache::DBI will attempt to reconnect if the database connection dies.

Per-Method Documentation

These are the public methods provided.

new

my $db = DBIx::Wrapper::VerySimple->new($dsn,$user,password);

$dsn is a DBI DSN, for example:

$dsn = q{DBI:mysql:database='Accounting'};

or a more complex example:

$database = 'Accounting';
$host     = 'data.ourdomain.com';  # Default is usually 'localhost'
$port     = '4200';  # 3306 is the MySQl default
$dsn = "DBI:mysql:database=$database;host=$hostname;port=$port";

fetch_hash or FetchHash

$hashref = $db->fetch_hash( $sql, @bind_values );

Returns a HASH ref for one row. Throws an exception if execution fails.

fetch_all or FetchAll

$arrayref = $db->fetch_all( $sql, @bind_values );

Returns an ARRAY ref of HASH refs. @bind_values are optional. Throws an exception if execution fails.

Do

$result_code = $db->Do( $sql, @bind_values );

Executes a non-select SQL statement Throws an exception if execution fails.

dbh

$db->dbh();

Returns the raw database handle from DBI.

get_args

$db->get_args();

Returns an ARRAY ref of the original args to new();

SEE ALSO

DBI, Apache::DBI

Other Wrapper Modules

DBIx::Simple, DBIx::Wrapper - have more features, but are not as simple as this module.

AUTHOR

Matisse Enzer <matisse@matisse.net>

COPYRIGHT

Copyright (c)2001-2006 by Matisse Enzer

LICENSE

This package is free software and is provided "as is" without express or implied warranty. It may be used, redistributed and/or modified under the terms of the Perl Artistic License (see http://www.perl.com/perl/misc/Artistic.html)