sub select_decode { my $self = shift; my $dbh = $self->{dbh}; my($select,$from,$where,$other) = @_;
my $sql="SELECT DECODE($select,\'blah\') "; $sql .= "FROM $from " if $from; $sql .= "WHERE $where " if $where; $sql .= $other if $other; # connect , or reuse $dbh, prepare and execute my_warn $sql; my $sth = $dbh->prepare($sql); # Unless your 'self' is a dbi handle.... # my $sth = $self->prepare($sql); $sth->execute or die "execute failed: $DBI::errstr"; } --- Dennis Stout <[EMAIL PROTECTED]> wrote: > Hi. > > Whenever I try to get the value of a field in a row from a SQL > database, I'm > either passed a blank line or the name of the spot in memory in which > the > information I want resides (like HASHx('80fd23afcc') or something). > Earlier > in the code, the right use statements as well as $Sql = > TTMSSQL->new;. > TTMSSQL is a customized engine for generating SQL queries, if you > need to > see the whole thing I can make it available. > > emit_ and post_ routines are called via a RequestHandler when the > user goes > to certain URI's on the server... The RequestHandler and Dispatch > Table > work just fine as I've thoroughly tested them.. This SQL is simply > not > working tho >:| > > Here are the routines. > > sub get_password { > my $state = shift; > > my $sth = $Sql->select_decode('PWORD', 'techs', > "TECH=\"$state->{q}->{login_user}\" > "); > my $row = $sth->fetchrow_hashref; > > return $row->{PWORD}; > } > > sub emit_login_form { > my $state = shift; > my %args = $state->{q}; > $state->{template} = 'generic.tmpl'; > $state->{title} = 'TTMS Login'; > > $args{body} = <<EOF; > <form method="post" action="http://ttms.stout.dyndns.org/login.cgi"> > <table border-"0" cellpadding="0" cellspacing="0"> > <tr><td>Username</td><td><input type="text" > name="login_user"></td></tr> > <tr><td>Password</td><td><input type="password" > name="login_pass"></td></tr> > <tr><td colspan="2" align="center"><input type="submit" > value="submit"></td></tr> > </table> > </form> > EOF > > return output_html($state, %args); > } > > sub post_login_form { > my $state = shift; > my %args = $state->{q}; > $state->{template} = 'generic.tmpl'; > $state->{title} = 'TTMS Login'; > > my $checkpass = get_password($state); > > # if ($checkpass eq $state->{q}{login_pass}) { > # $state->{login_user} = $state->{q}{login_user}; > # $state->{login_pass} = $state->{q}{login_pass}; > # $state->{auth_status} = "Logged in as > $state->{login_user}"; > # $state->{cookie_out} = set_auth_cookie($state); > > # $args{body} = "Login Successful!"; > # } else { > # $state->{cookie_out} = set_logout_cookie($state); > > # $args{body} = "Login Unsuccessful."; > # } > > $args{body} = "login_user: > $state->{q}{login_user}<br>login_pass: > $state->{q}{login > _pass}<br>checkpass: $checkpass"; > return output_html($state, %args); > } > > sub select_decode > { > my $self = shift; > my $dbh = $self->{dbh}; > my($select,$from,$where,$other) = @_; > > my $sql="SELECT DECODE($select,\'blah\') "; > $sql .= "FROM $from " if $from; > $sql .= "WHERE $where " if $where; > $sql .= $other if $other; > > # connect , or reuse $dbh, prepare and execute > my_warn $sql; > my $sth = $self->prepare($sql); > > $sth->execute or die "execute failed: > $DBI::errstr"; > > $sth; > } > > Thanks, > Dennis > > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > ===== -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GIT d s+:++ a C++ UL++ US+ P+++ L++ W+++ w PS PE t++ b+ G e r+++ z++++ ------END GEEK CODE BLOCK------ __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]