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

CTK::DBI - Database independent interface for CTKlib

VERSION

Version 2.31

SYNOPSIS

use CTK::DBI;

# Enable debugging
# $CTK::DBI::CTK_DBI_DEBUG = 1;

# MySQL connect
my $mso = CTK::DBI->new(
        -dsn        => 'DBI:mysql:database=TEST;host=192.168.1.1',
        -user       => 'login',
        -pass       => 'password',
        -connect_to => 5,
        -request_to => 60
        #-attr      => {},
        #-prepare_attr => {},
        #-debug     => 1,
    );

my $dbh = $mso->connect or die($mso->error);

die($mso->error) if $mso->error;

# Table select (as array)
my @result = $mso->table($sql, @inargs);

# Table select (as hash)
my %result = $mso->tableh($key, $sql, @inargs); # $key - primary index field name

# Record (as array)
my @result = $mso->record($sql, @inargs);

# Record (as hash)
my %result = $mso->recordh($sql, @inargs);

# Field (as scalar)
my $result = $mso->field($sql, @inargs);

# SQL
my $sth = $mso->execute($sql, @inargs);
...
$sth->finish;

DESCRIPTION

For example: print($mso->field("select sysdate() from dual"));

new

# MySQL connect
my $mso = CTK::DBI->new(
        -dsn        => 'DBI:mysql:database=TEST;host=192.168.1.1',
        -user       => 'login',
        -pass       => 'password',
        -connect_to => 5,
        -request_to => 60
        #-attr      => {},
        #-prepare_attr => {},
        #-debug     => 1,
    );

Create the DBI object

connect

my $dbh = $mso->connect;

See "dbh"

dbh

my $dbh = $mso->dbh;

Returns DBH object (DB handler of DBI)

disconnect

my $rc = $mso->disconnect;

Forced disconnecting. Please not use this method

error

die $mso->error if $mso->error;

Returns error string

execute

# SQL
my $sth = $mso->execute($sql, @inargs);
...
$sth->finish;

Executing the SQL

field

# Fields (as scalar)
my $result = $mso->field($sql, @inargs);

Get (select) field from database as scalar value

record, recordh

# Record (as array)
my @result = $mso->record($sql, @inargs);

# Record (as hash)
my %result = $mso->recordh($sql, @inargs);

Get (select) record from database as array or hash

table, tableh

# Table select (as array)
my @result = $mso->table($sql, @inargs);

# Table select (as hash)
my %result = $mso->tableh($key, $sql, @inargs); # $key - primary index field name

Get (select) table from database as array or hash

HISTORY

See Changes file

VARIABLES

$CTK::DBI::CTK_DBI_DEBUG

Debug mode flag. Default: 0

$CTK::DBI::CTK_DBI_ERROR

General error string

DEPENDENCIES

DBI

TO DO

See TODO file

BUGS

* none noted

SEE ALSO

DBI

AUTHOR

Serż Minus (Sergey Lepenkov) https://www.serzik.com <abalama@cpan.org>

COPYRIGHT

Copyright (C) 1998-2022 D&D Corporation. All Rights Reserved

LICENSE

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See LICENSE file and https://dev.perl.org/licenses/