tiger: Suchabfrage m.H.v. Perl und mySQL

Beitrag lesen

Hallo Klaus,
erstmal vielen vielen Dank, dass du dir so viel Zeit für mein Skript genommen hast.
Ich habe deine Anregungen mit einbezogen und wieder getestet. Aber irgendwie werden mir immer noch keine Suchergebnisse ausgegeben.
Die SQL-Abfrage klingt super, funktioniert auch, denke ich, aber kannst du die folgende Zeile vielleicht nochmal für mich kommentieren? Irgendwie ist mir das zu hoch ;-)

{
   $wherestring .= (($wherestring eq '')?' WHERE ':' AND ')." COMPUTERNUMBER = $nummer ";
   }

Das folgende verstehe ich immer noch nicht so ganz, dass ich $row[0] usw. schreiben muss verstehe ich. Aber ist diese while-Schleife jetzt erforderlich??

while (@row = $sth->fetchrow_array) {
   $nummer     = $row[0];
       $tsskennung = $row[1];
      $eMail      = $row[2];
}

while() läßt vermuten, dßa es auch durchaus mehrere Datensätze geben kann, die den Suchkriterien entsprechen. Wie willst Du das berücksichtigen? Derzeit wird nur der zuletzt von der Datenbank gelieferte Datensatz weiter verarbeitet.

Es gibt auf jeden Fall mehrere Datensätze, die den Suchkriterien entsprechen. Wie kann ich so etwas berücksichtigen??

return @row = ($nummer, $tsskennung, $eMail);
die Zuweisung auf @row ist hier unnötig.

also reicht hier return @row aus??

$dbh->disconnect();

Diese Anweisung wird nie und nimmer ausgeführt, und kann, je nach Treiber einen Fehler produzieren. Zumindest wird es aber unnötige Resourcen binden.

Wieso wird diese Anweisung nicht ausgeführt?

$Suchen = uc(&Suchen($nummer ,$tsskennung ,$eMail));
warum host Du dir nicht die Einzelwerte ab und formatierst die im aufrufenden Code?

($nummer ,$tsskennung ,$eMail)= &Suchen($nummer ,$tsskennung ,$eMail);
print <<EOT;
Folgende Daten wurden gefunden:<br>
Nummer: $nummer<br>
Kennung: $tsskennung<br>
Email: $eMail<br>
EOT

»»
Das habe ich probiert, aber irgendwie kommen keine Suchergebnisse raus, obwohl das ganze vom Syntax her richtig ist.
Soll ich evtl. mal das vollständige Skript posten?

Viele Grüße
tiger