EasyDBAccess is a Perl database access interface.
SYNOPSIS
use EasyDBAccess;
if(defined(&EasyDBAccess::foo)){
print "lib is included";
}else{
print "lib is not included";
}
my $dba=EasyDBAccess->new({host=>'127.0.0.1',usr=>'root',pass=>'passwd',database=>'test_db'});
my $dba=EasyDBAccess->new({socket=>'/tmp/mysql.sock',usr=>'root',pass=>'passwd',database=>'test_db'});
my $dba=EasyDBAccess->new({host=>'127.0.0.1',usr=>'root',pass=>'passwd',database=>'test_db',encoding=>'gbk'});
#disable die in next operation
EasyDBAccess->once();
my ($dba,$err_code)=EasyDBAccess->new({host=>'127.0.0.1',usr=>'root',pass=>'passwd',database=>'test_db'});
if($err_code==3){
print "Connect Error";
}elsif($err_code==0){
print "Connect Succ";
}else{
CORE::die 'BUG';
}
my $dba=EasyDBAccess->new({host=>'127.0.0.1',usr=>'root',pass=>'passwd',database=>'test_db'},{err_file=>'varloglogfile'});
my $die_handler=EasyHandler->new(&die_to_file,['varloglogfile']);
my $dba=EasyDBAccess->new({host=>'127.0.0.1',usr=>'root',pass=>'passwd',database=>'test_db'},{die_handler=>$die_handler});
my $dbh=$dba->dbh();
EasyDBAccess->once();
$dba->once();
$re=$dba->select_one('select id from person limit 0,1');
#$re=1
($re,$err_code)=$dba->select_one('select id from person limit 0,1');
#$re=1,$err_code=0
($re,$err_code)=$dba->select_one('select id from person2 limit 0,1');
#table person2 doesn't exist, will die
$dba->once();
($re,$err_code,$err_detail)=$dba->select_one('select id from person2 limit %start_pos,%count',{start_pos=>0,count=>1});
#won't die, because we have do "$dba->once()" before it
if($err_code==0){
print "no error, id is $re";
}elsif($err_code==5){
#execute error
if($dba->err_code()==1146){
print 'table not exist';
}else{
#other error
CORE::die $err_detail;
}
}
($re,$err_code)=$dba->execute('insert into person values (?,?)',[3,'Bob']);
#1, affected_rows
($re,$err_code)=$dba->select('select * from person');
#[{id=>1,name=>'tom'},{id=>2,name=>'gates'}]
($re,$err_code)=$dba->select_array('select * from person');
#[[1,'tom'],[2,'gates']]
($re,$err_code)=$dba->select_row('select * from person');
#{id=>1,name=>'tom'}
($re,$err_code)=$dba->select_col('select id from person');
#[1,2]
($re,$err_code)=$dba->select_one('select id from person');
#1, first line first column
($re,$err_code)=$dba->select_one('select name from person where id=3');
#select_row, select_one can cause NO_LINE error
if($err_code==0){
print "no error, name is $re";
}elsif($err_code==1){
#no line
print "there is 0 row in result set";
}else{
print "other error";
}
$id=$dba->id('key1');#1
$id=$dba->id('key2');#1
$id=$dba->id('key1');#2
$id=$dba->id('key1');#3
$sid=$dba->sid();
#446d40ffd9890184
$sid_info=$dba->sid_info('446d40ffd9890184');
#{"sid" => 3649634692, "comment" => undef, "record_time" => 1148010751}
#will insert a record to note table
$sid->note('hello world');
Product's homepage
Requirements:
· Perl