6 @EXPORT = qw(conv_i conv_date conv_dateq do_query selectrow_query do_statement
7 dump_query quote_db_date selectall_hashref_query
8 selectfirst_hashref_query selectfirst_array_query
9 prepare_execute_query);
12 my ($value, $default) = @_;
13 return (defined($value) && "$value" ne "") ? $value * 1 : $default;
18 return (defined($value) && "$value" ne "") ? $value : undef;
23 if (defined($value) && "$value" ne "") {
24 $value =~ s/\'/\'\'/g;
31 my ($form, $dbh, $query) = splice(@_, 0, 3);
32 dump_query(LXDebug::QUERY, '', $query . " (" . join(", ", @_) . ")", @_);
33 if (0 == scalar(@_)) {
34 $dbh->do($query) || $form->dberror($query);
36 $dbh->do($query, undef, @_) ||
37 $form->dberror($query . " (" . join(", ", @_) . ")");
41 sub selectrow_query { &selectfirst_array_query }
44 my ($form, $sth, $query) = splice(@_, 0, 3);
46 if (0 == scalar(@_)) {
47 $sth->execute() || $form->dberror($query);
50 $form->dberror($query . " (" . join(", ", @_) . ")");
55 my ($level, $msg, $query) = splice(@_, 0, 3);
56 while ($query =~ /\?/) {
57 my $value = shift(@_);
58 $value =~ s/\'/\\\'/g;
59 $value = "'${value}'";
60 $query =~ s/\?/$value/;
63 $msg .= " " if ($msg);
65 $main::lxdebug->message($level, $msg . $query);
70 return "NULL" unless defined $str;
71 return "current_date" if $str =~ /current_date/;
76 sub prepare_execute_query {
77 my ($form, $dbh, $query) = splice(@_, 0, 3);
78 my $sth = $dbh->prepare($query) || $form->dberror($query);
79 dump_query(LXDebug::QUERY, '', $query . " (" . join(", ", @_) . ")", @_);
80 if (scalar(@_) != 0) {
81 $sth->execute(@_) || $form->dberror($query . " (" . join(", ", @_) . ")");
83 $sth->execute() || $form->dberror($query);
89 sub selectall_hashref_query {
90 my ($form, $dbh, $query) = splice(@_, 0, 3);
92 my $sth = prepare_execute_query($form, $dbh, $query, @_);
94 while (my $ref = $sth->fetchrow_hashref()) {
95 push(@{ $result }, $ref);
102 sub selectfirst_hashref_query {
103 my ($form, $dbh, $query) = splice(@_, 0, 3);
105 my $sth = prepare_execute_query($form, $dbh, $query, @_);
106 my $ref = $sth->fetchrow_hashref();
112 sub selectfirst_array_query {
113 my ($form, $dbh, $query) = splice(@_, 0, 3);
115 my $sth = prepare_execute_query($form, $dbh, $query, @_);
116 my @ret = $sth->fetchrow_array();