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 $query =~ s/[\n\s]+/ /g;
65 $msg .= " " if ($msg);
67 $main::lxdebug->message($level, $msg . $query);
72 return "NULL" unless defined $str;
73 return "current_date" if $str =~ /current_date/;
78 sub prepare_execute_query {
79 my ($form, $dbh, $query) = splice(@_, 0, 3);
80 my $sth = $dbh->prepare($query) || $form->dberror($query);
81 dump_query(LXDebug::QUERY, '', $query . " (" . join(", ", @_) . ")", @_);
82 if (scalar(@_) != 0) {
83 $sth->execute(@_) || $form->dberror($query . " (" . join(", ", @_) . ")");
85 $sth->execute() || $form->dberror($query);
91 sub selectall_hashref_query {
92 my ($form, $dbh, $query) = splice(@_, 0, 3);
94 my $sth = prepare_execute_query($form, $dbh, $query, @_);
96 while (my $ref = $sth->fetchrow_hashref()) {
97 push(@{ $result }, $ref);
104 sub selectfirst_hashref_query {
105 my ($form, $dbh, $query) = splice(@_, 0, 3);
107 my $sth = prepare_execute_query($form, $dbh, $query, @_);
108 my $ref = $sth->fetchrow_hashref();
114 sub selectfirst_array_query {
115 my ($form, $dbh, $query) = splice(@_, 0, 3);
117 my $sth = prepare_execute_query($form, $dbh, $query, @_);
118 my @ret = $sth->fetchrow_array();