Halihallo F.
my $dbh = DBI->connect( 'dbi:mysql:datenbank', 'datenbank', 'dbpasswort') ||
die "Keine Verbindung\n";my $sth = $dbh->prepare( 'SELECT usernr FROM users' ) ||
die "Etwas ging schief\n";$sth->execute ||
die "Ausführen ging schief\n";
Du solltest dir angewöhnen aussagekräftigere Fehlermeldungen zu
produzieren. Verwende bei Verwendung von DBI die Methode bzw.
Variable $sth->{errstr} | $sth->errstr().
Nun weiss ich ja, dass ich nur eine Rückgabezeile bekomme, da diese usernr 100% nur 1 mal existiert. Dann wäre es ja Schwachsinn mit fetchrow_array das in ein Array zu speichern. Wie kann ich diesen Wert dann in einem normalen String speichern?
Falsch. Du kriegst in den seltensten Fällen eine Zeile (du meinst
Datensatz oder Tupel), sondern genau ein Attribut ("Spalte"); denn
du hast wohl mehr als ein User, oder?
Ich halte das Verwenden von fetchrow_array | fetchrow_arrayref für
durchaus legitim, denn die Performanceeinbusse ist minimal. Aber
bitte...
perldoc DBI
dort findest du eine Methode: bind_col oder bind_columns, welcher
du die Variablenreferenzen für die einzelnen Attribute des
ResultSets übergeben kannst. Bei jedem fetch werden diese dann mit
den aktuellen Tupelwerten gefüllt. Ein Beispiel zur Anwendung findest
du ebenfalls in der Dokumentation zu DBI.
Viele Grüsse
Philipp