Thread Arrayelemente einzeln mit Schleife auslesen
(14 answers)
Opened by funeddy at 2020-10-04 13:40
Hallo Funeddy,
Da fallen mir schon ein paar Dinge auf in Deinem Code. 2020-10-04T12:58:13 funeddy In dieser Konstruktion wird die Variable $_ nacheinander mit Werten aus Deinem @array versorgt. Die Zeile am Ende der Schleife Code (perl): (dl
)
$_=$counter++; 2020-10-04T12:58:13 funeddy Auch wenn es in Deinem Fall nicht dringend erforderlich sein sollte: Gewöhne Dir bitte gleich an, SQL-Abfragen mit Platzhaltern zu machen. SQL Injection ist die häufigste Sicherheitslücke in Programmen. Der Code wird dadurch nicht einmal länger: Code (perl): (dl
)
1 2 3 4 5 6 my $queryextstatus = "SELECT value_text FROM dynamic_field_value WHERE object_id = ? AND field_id = 80"; my $sth = $dbh->prepare($queryextstatus); $sth->execute($_); 2020-10-04T12:58:13 funeddy Hier läufst Du durch eine Schleife und überschreibst jedesmal die gleiche Variable $ticketextstatus. Wenn Du nur ein Ergebnis erwartest, brauchst Du keine Schleife, und wenn Du mehrere erwartest, dann ist das mit Sicherheit falsch. 2020-10-04T12:58:13 funeddyDa gibt es erst mal eine "modische" Anmerkung: So wie Du das schreibst, ist es zwar korrekt und kommt vermutlich immer noch in Perl-Kursen und -Büchern vor, aber heutzutage trennt man besser den Dateinamen vom Zugriffsmodus und verwendet lexikalische Variablen anstelle der GROSSBUCHSTABIGEN: Code (perl): (dl
)
1 2 3 open (my $fh, ">>", "status.txt" ) or die $!; print $fh $ticketextstatus; close ($fh); Außerdem gibst Du den Wert ohne Zeilenende aus, Deine Werte aus der Datenbank stehen also alle direkt hintereinander in einer Zeile. 2020-10-04T12:58:13 funeddy Der Teil ab hier sieht ziemlich unfertig aus? Den kommentiere ich mal noch nicht. (Editiert wg. Hinweis von Bianca - danke!) Last edited: 2020-10-05 09:12:43 +0200 (CEST) |