# phpman > info > DBD::Sponge

DBD::[Sponge(3pm)](https://www.chedong.com/phpMan.php/man/Sponge/3pm/markdown)      User Contributed Perl Documentation     DBD::[Sponge(3pm)](https://www.chedong.com/phpMan.php/man/Sponge/3pm/markdown)

NAME
       [DBD::Sponge](https://www.chedong.com/phpMan.php/perldoc/DBD%3A%3ASponge/markdown) - Create a DBI statement handle from Perl data

SYNOPSIS
         my $sponge = DBI->connect("dbi:Sponge:","","",{ RaiseError => 1 });
         my $sth = $sponge->prepare($statement, {
                 rows => $data,
                 NAME => $names,
                 %attr
             }
         );

DESCRIPTION
       [DBD::Sponge](https://www.chedong.com/phpMan.php/perldoc/DBD%3A%3ASponge/markdown) is useful for making a Perl data structure accessible
       through a standard DBI statement handle. This may be useful to DBD
       module authors who need to transform data in this way.

METHODS
   connect()
         my $sponge = DBI->connect("dbi:Sponge:","","",{ RaiseError => 1 });

       Here's a sample syntax for creating a database handle for the Sponge
       driver.  No username and password are needed.

   prepare()
         my $sth = $sponge->prepare($statement, {
                 rows => $data,
                 NAME => $names,
                 %attr
             }
         );

       o   The $statement here is an arbitrary statement or name you want to
           provide as identity of your data. If you're using [DBI::Profile](https://www.chedong.com/phpMan.php/perldoc/DBI%3A%3AProfile/markdown) it
           will appear in the profile data.

           Generally it's expected that you are preparing a statement handle
           as if a "select" statement happened.

       o   $data is a reference to the data you are providing, given as an
           array of arrays.

       o   $names is a reference an array of column names for the $data you
           are providing.  The number and order should match the number and
           ordering of the $data columns.

       o   %attr is a hash of other standard DBI attributes that you might
           pass to a prepare statement.

           Currently only NAME, TYPE, and PRECISION are supported.

BUGS
       Using this module to prepare INSERT-like statements is not currently
       documented.

AUTHOR AND COPYRIGHT
       This module is Copyright (c) 2003 Tim Bunce

       Documentation initially written by Mark Stosberg

       The [DBD::Sponge](https://www.chedong.com/phpMan.php/perldoc/DBD%3A%3ASponge/markdown) module is free software; you can redistribute it and/or
       modify it under the same terms as Perl itself. In particular permission
       is granted to Tim Bunce for distributing this as a part of the DBI.

SEE ALSO
       DBI

perl v5.34.0                      2022-02-06                  DBD::[Sponge(3pm)](https://www.chedong.com/phpMan.php/man/Sponge/3pm/markdown)
