User since
2006-02-17
628
Artikel
BenutzerIn
renee+2007-09-27 13:05:20--kleiner Fehler ist bei Dir drin...
uups, ja - ich verwende natürlich auch arrayref (bzw. hashref), dann muss es heißen $count->[0]
aber nepos Vorschlag ist noch besser.
Supi es funzt :) Dangöööööööööö!
Kleine Frage hätte ich da noch... So wie die pm jezze ist... Ist da irgendwas überflüssiges drin? Oder gerade gut so?
1
2
3
4
5
6
7
8
9
10
11
12
13
my $user = $main->{current_user};
my $dbh = DBI->connect("$db_name","$db_user","$db_pass") || die "Database connection not made: $DBI::errstr";
my $sth = $dbh->prepare("SELECT * FROM pm_in WHERE pm_to = '$user->{name}' AND new = '1'");
$sth->execute();
my @count = $dbh->selectrow_array(q{SELECT COUNT(1) FROM pm_in WHERE pm_to=? and new=1}, undef, $user->{name});
my $output = $main->createInfoOutput('newmails',{mails => $count[0]});
return [$output];
$sth->finish();
$dbh->disconnect();
User since
2006-02-17
628
Artikel
BenutzerIn
ja, die Zeilen 12 und 13 werden nie ausgeführt. connect/disconnect würde ich sowieso globaler machen, nicht in einer Funktion, das sind sehr Zeitaufwändige Funktionen, die mn nur einmal pro Skript aufrufen sollte..
und die Zeilen 3 und 4 kannst du rausschmeissen
[EDIT]Ach und noch was. Niemals "$var" schreiben, das ist eine völlig unnötige Interpolation. In keiner Programmiersprache musst du die Variabeln in Anführungszeichen schreiben.
User since
2003-08-04
14371
Artikel
ModeratorIn
Struppi+2007-09-27 14:49:38--
[EDIT]Ach und noch was. Niemals "$var" schreiben, das ist eine völlig unnötige Interpolation.
Niemals ist falsch. Es gibt bestimmte Fälle, wo das gewollt ist! Aber in 99% der Fälle ist die Interpolation tatsächlich überflüssig...