Hallo,
danke für den Tipp. Ich habe es jetzt so entgültig gelöst:
my $dbh = DBI->connect("DBI:mysql:$database:$dbserver", $dbuser, $dbpass, {AutoCommit => 0}) or die $DBI::errstr;
my $auslesen = $dbh->prepare("SELECT COUNT(nick) FROM users WHERE nick='$nick'") or die $dbh->errstr;
$auslesen->execute;
my $readnick = $auslesen->fetchrow_array;
$auslesen->finish;
$dbh->disconnect;
if ($readnick != 0) {
return 'This nickname already exists. Please choose another one !';
}
In beiden Fällen würde ich mir noch Parameter-Binding 'antun', da damit viele allfällige Probleme umgangen werden (Was ist, wenn der Nick ein Anführungszeichen beinhalten soll?).
Also das mit der Parameterbindung verstehe ich nicht so ganz, aber das Problem mit den Entities habe ich bereits so gelöst, dass ich die Variablen, die Sonderzeichen enthalten könnten, mit HTML::Entitites kodiert, sodass diese gleich als kodiert in die Datenbank eingelesen werden.
(Zumindest hat sich diese Methode bei meinen früheren Daten Ein,-Auselese Scripts bewährt, und jetzt bei mySQL sollte es sicher auch funktionieren)
Markus Trusk.