Below is my code to execute any select Query and fetch data from database and return the fetched value. It will return only the values, Is it possible to take the column name? So that I can hold the column name and the corresponding value in a hash.
sub Select_Qry{ ($class,$dbaseh,$query)=@_; my($sth, $execu); if(!defined($query)){ $sth->finish(); $dbaseh->disconnect(); } if($dbaseh->ping){ $sth=$dbaseh->prepare("$query") or warn $file->log( + level => 'info', message => localtime() .": Can't prepare SQL state +ment:[$query] $DBI::errstr\n"); #Prepare the select query $execu =$sth->execute() or warn $file->log( level = +> 'info', message => localtime() .": Can't execute SQL statement:[$q +uery] $DBI::errstr\n"); #Execute the se +lect query if(!defined($execu)){ $file->log( level => 'info', message => local +time() .": Can't execute SQL statement:[$query] $DBI::errstr\n"); } else{ $file->log( level => 'info', message => local +time() .":SUCCESS:[$query]\n"); } while ( @arra = $sth->fetchrow_array ) { push (@Data_Array,@arra); } $file->log( level => 'info', message => localtime() +.": Fetched Data [@Data_Array]\n"); } else{ $file->log( level => 'info', message => loca +ltime() .": Reconnecting with Database by Ping function\n"); $dbaseh=&connection(); $file->log( level => 'info', message => loca +ltime() .": DataBase Get Connected Successfully.\n" ); $sth=$dbaseh->prepare("$query") or warn $file +->log( level => 'info', message => localtime() .": Can't prepare SQL + statement: $DBI::errstr[$query]\n"); #pre +pare the select query $execu=$sth->execute() or warn $file->log( le +vel => 'info', message => localtime() .": Can't execute SQL statemen +t: $DBI::errstr[$query]\n"); + #execute the select query if(!defined($execu)){ $file->log( level => 'info', message = +> localtime() .": Can't execute SQL statement:[$query] $DBI::errstr\ +n"); } else{ $file->log( level => 'info', message = +> localtime() .":SUCCESS:[$query]\n"); } while ( @arra = $sth->fetchrow_array ) + { push (@Data_Array,@arra); } $file->log( level => 'info', message = +> localtime() .": Fetched Data [@Data_Array]\n"); } $sth->finish(); $dbaseh->disconnect(); + #Disconnect the databa +se. return @Data_Array; }
In reply to DBI : Get Column name and Value in hash by vinoth.ree
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |