init III
This commit is contained in:
82
Perl Skript template/database.pm
Normal file
82
Perl Skript template/database.pm
Normal file
@@ -0,0 +1,82 @@
|
||||
package database;
|
||||
require Exporter;
|
||||
|
||||
use DBI;
|
||||
|
||||
use vars qw($VERSION @ISA @EXPORT);
|
||||
$VERSION = 1.00;
|
||||
@ISA = qw(Exporter);
|
||||
###############################################################################
|
||||
@EXPORT = qw/
|
||||
db_connect
|
||||
db_disconnect
|
||||
db_exec
|
||||
db_select
|
||||
|
||||
|
||||
/;
|
||||
|
||||
our $FUNC_STATEMENT_HANDLE;
|
||||
|
||||
|
||||
######## Datenbank Funktionen und Beispielnutzung
|
||||
# my $DB_HANDLE;
|
||||
# my $ok = db_connect ($DB_HANDLE, $conf{'DB_TYPE'}, $conf{'DB_NAME'}, $conf{'DB_HOST'}, $conf{'DB_PORT'}, $conf{'DB_USER'}, $conf{'DB_PASS'});
|
||||
# exit if (!$ok);
|
||||
# my @ret = db_select ($DB_HANDLE, "select password from passwd where user='test'");
|
||||
# my $i=0; my $j;
|
||||
#foreach my $x (@ret) {
|
||||
# $j=0;
|
||||
# foreach my $y (@{$x}) {
|
||||
# p "i: $i, j: $j, wert: '$y'";
|
||||
# $j++;
|
||||
# }
|
||||
# $i++;
|
||||
#}
|
||||
# db_disconnect ($DB_HANDLE);
|
||||
|
||||
sub db_connect {
|
||||
# call: db_connect($DB_HANDLE, $conf{'DB_TYPE'}, $conf{'DB_NAME'}, $conf{'DB_HOST'}, $conf{'DB_PORT'}, $conf{'DB_USER'}, $conf{'DB_PASS'});
|
||||
my $ok = eval {
|
||||
$_[0] = DBI->connect("DBI:$_[1]:$_[2]:$_[3]:$_[4]", "$_[5]", "$_[6]");
|
||||
return 0 if ($_[0] == undef);
|
||||
return 1;
|
||||
};
|
||||
return $ok;
|
||||
}
|
||||
|
||||
sub db_disconnect {
|
||||
# call: db_disconnect($DB_HANDLE);
|
||||
$_[0]->disconnect();
|
||||
}
|
||||
|
||||
sub db_exec {
|
||||
# call: db_exec($DB_HANDLE, "insert|update|delete|alter...");
|
||||
$FUNC_STATEMENT_HANDLE = $_[0]->prepare ("$_[1]");
|
||||
$FUNC_STATEMENT_HANDLE->execute();
|
||||
$FUNC_STATEMENT_HANDLE->finish();
|
||||
}
|
||||
|
||||
sub db_select {
|
||||
# call: db_select($DB_HANDLE, "select ... from ...");
|
||||
# return: @
|
||||
my @data;
|
||||
my $i;
|
||||
my $j;
|
||||
my @ret;
|
||||
$FUNC_STATEMENT_HANDLE = $_[0]->prepare ("$_[1]");
|
||||
$FUNC_STATEMENT_HANDLE->execute();
|
||||
$i=0;
|
||||
while (@data = $FUNC_STATEMENT_HANDLE->fetchrow_array()) {
|
||||
$j=0;
|
||||
foreach (@data) {
|
||||
$ret[$i][$j]=$_;
|
||||
$j++;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
return @ret;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
Reference in New Issue
Block a user