Viewing file: sql.cgi (1.5 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl # Execute some SQL and display the result
require './custom-lib.pl'; if ($ENV{'CONTENT_TYPE'} =~ /multipart\/form-data/i) { &ReadParseMime(); } else { &ReadParse(); } &error_setup($text{'srun_err'}); $cmd = &get_command($in{'id'}, $in{'idx'}); &can_run_command($cmd) || &error($text{'run_ecannot'});
# Connect to the DB use DBI; $drh = DBI->install_driver($cmd->{'type'}); $drh || &error($text{'srun_edriver'}); ($driver) = grep { $_->{'driver'} eq $cmd->{'type'} } &list_dbi_drivers(); $dbh = $drh->connect($driver->{'dbparam'}."=".$cmd->{'db'}. ($cmd->{'host'} ? ";host=$cmd->{'host'}" : ""), $cmd->{'user'}, $cmd->{'pass'}, { }); $dbh || &error(&text('srun_econnect', $drh->errstr));
# Show header &ui_print_unbuffered_header(undef, $text{'srun_title'}, ""); print &text('srun_cmd', "<tt>$cmd->{'sql'}</tt>"),"<p>\n";
# Work out params ($env, $export, $str, $displaystr, $args) = &set_parameter_envs($cmd, $cmd->{'sql'}, undef);
# Run it $cmd = $dbh->prepare($cmd->{'sql'}); if (!$cmd) { print &text('srun_eprepare', $dbh->errstr),"<p>\n"; } elsif (!$cmd->execute(@$args)) { print &text('srun_eexecute', $dbh->errstr),"<p>\n"; } else { # Show results if (@titles = @{$cmd->{'NAME'}}) { print &ui_columns_start(\@titles);
# Show results while(my @r = $cmd->fetchrow()) { print &ui_columns_row(\@r); }
print &ui_columns_end(); $cmd->finish(); } else { $r = $cmd->finish(); print &text('srun_none', $r),"<p>\n"; } }
&ui_print_footer("", $text{'index_return'});
|