Hallo,
ich habe da ein Problem. Ich soll über ein Perl-Skript eine Suchabfrage in einer Oracle-Datenbank machen.
Dazu habe ich ein Skript geschrieben. Die Suchabfrage findet in der Subroutine Suchen statt:
- einer oder zwei der Werte von $nummer, $tsskennung, $eMail wurden zuvor in ein Formular geschrieben und dieses Formular ruft bei abschicken das perl-Skript auf, in welchen es die Subroutine "Suchen" gibt:
sub Suchen {
my $nummer = shift;
my $tsskennung = shift;
my $eMail = shift;
use DBI;
$$datasource = $data_source::datasource; # Zugangsdaten zur DB -> Quelle
$dbusername = $data_source::dbusername; # -> User
$dbpassword = $data_source::dbpassword;
$dbh = DBI->connect($datasource, $dbusername, $dbpassword, {RaiseError =>1, AutoCommit =>0}) || die "Unable to connect: $DBI::errstr";
my ($SQL,$sth);
if ($nummer && $eMail eq ''){
$SQL = "SELECT * FROM $computer_names WHERE tsslogin like '$tsskennung'";
}
elsif ($tsskennung && $eMail eq ''){
$SQL = "SELECT * FROM $computer_names WHERE computernumber like '$nummer'";
}
elsif ($nummer && $tsskennung eq ''){
$SQL = "SELECT * FROM $computer_names WHERE respemail like '$eMail'";
}
elsif ($nummer eq ''){
$SQL = "SELECT * FROM $computer_names WHERE tsslogin like '$tsskennung '";
}
elsif ($tsskennung eq ''){
$SQL = "SELECT * FROM $computer_names WHERE respemail like '$eMail'";
}
elsif ($eMail eq ''){
$SQL = "SELECT * FROM $computer_names WHERE computernumber like '$nummer'";
}
else { print "Es muss mindestens ein Feld ausgefuellt sein!\n"}
$sth = $dbh->prepare($SQL) || die "Unable to connect: $DBI::errstr";
$sth->execute();
while (@row = $sth->fetchrow_array) {
$nummer = @row[0];
$tsskennung = @row[1];
$eMail = @row[2];
}
$sth->finish;
return @row = ($nummer, $tsskennung, $eMail);
$dbh->disconnect();
}
Diese Subroutine wird wie folgt aufgerufen:
$Suchen = uc(&Suchen($nummer ,$tsskennung ,$eMail));
Ist das alles so richtig?
Mein spezielles Problem dabei ist jetzt, dass ich nicht weiß wie die Suchergebnisse ausgegeben werden (eigentlich doch mit ...(@row = $sth->fetchrow_array... usw.) Stimmt das? Wenn ja, wie erreiche ich, dass mir meine Suchergebenisse als HTML-Code an den Browser gesendet werden?
Ich hoffe mir kann jemand weiter helfen - diese Problem beschäftigt mich schon fast ne Woche!
Gruss
Tiger