Thread Wieso läuft dieses Skript unendlich lange?! (18 answers)
Opened by Gast at 2005-09-27 11:34

Gast Gast
 2005-09-27 11:34
#5690 #5690
Problem:

Siehe Titel

Was ich eigentlich wollte:

Ich wollte eine Funktion schreiben, die ein Select aus einer Datenbank noch etwas vereinfacht. Wenn ich mein Beispiel hier ohne meine Funktion ausführe dann funktionierts.. Aber irgend wie happerts wohl mit dem return $sth->fetchrow_hashref();
Die SQL-Abfrage funktioniert so weit eigentlich. Aber wenn ich sie nachher mit der while-Schleife ausgeben will wiederholt sich der erste Eintrag unendlich viel mal, weil er nicht kappiert, dass er zum nächsten Eintrag springen soll.
Ist es generell nicht möglich hashrefs aus einer Funktion heraus zu geben oder wo liegt das Problem?? Danke für die Hilfe ...

-----------------------------------------------------------------------------------
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/perl -w
use CGI::Carp qw(fatalsToBrowser);
use DBI;

#Variabeln Deklarierung
$dbname="cdliste";
$username="root";
$pw="123";
$db = "DBI:mysql:$dbname";

#Die Verbindung zur Datenbank wird hergestellt
$dbh = DBI->connect($db, $username, $pw, { RaiseError => 1 }) || die("Kann DB nicht öffnen!");

sub selecthashref ($){

$sth = $dbh->prepare( $_[0] ) or return "$DBI::err: $DBI::errstr";
$sth->execute();
return $sth->fetchrow_hashref();

};

#Legt den Dokumenttypen fest
print "Content-type: text/html; charset=iso-8859-1\n\n";

while ($row_ref = selecthashref("SELECT * FROM ordner ORDER BY ordnername ASC")){

print "$row_ref->{ordnerid}\n";
}

-----------------------------------------------------------------------------------


edit renee: ne Runde [code]-Tags spendiert\n\n

<!--EDIT|renee|1127806616-->

View full thread Wieso läuft dieses Skript unendlich lange?!