powerhouse has asked for the wisdom of the Perl Monks concerning the following question:
Ok Perl Monks, I really could use your wisdom here :o)
I've created a site in perl and MySQL. when my visitors register, I have it check a database table of obscene usernames and return "bad" if it's in there.
Here is how I am searching it:
Ok, now my problem is that if I even try to use my name as a username it is returning it as bad.
I did have a wildcard in the $sth->execute("$str"); like this: $sth->execute("%$str%");
I thought that might have been the problem, but it was not. when I took out the wild cards on both sides of it, It is still saying any username is bad.
However, if I just take out the LIKE and make it a = then it won't get something like asshole when I only have ass in the database and visaversa. Is there a "contains" like Perl's =~ for MySQL, that you know of in your infinite wisdom?
Or should I go ask on a MySQL board, if I can find one?
thx,
Richard
I've created a site in perl and MySQL. when my visitors register, I have it check a database table of obscene usernames and return "bad" if it's in there.
Here is how I am searching it:
$sth = $dbh->prepare (qq{ SELECT * FROM `forbidden_usernames` WHER +E `f_user` LIKE ? }); $sth->execute("$str"); $row = $sth->fetchrow_hashref(); $sth->finish(); if ($str =~ /$row->{f_user}/i) { return("bad"); }
Ok, now my problem is that if I even try to use my name as a username it is returning it as bad.
I did have a wildcard in the $sth->execute("$str"); like this: $sth->execute("%$str%");
I thought that might have been the problem, but it was not. when I took out the wild cards on both sides of it, It is still saying any username is bad.
However, if I just take out the LIKE and make it a = then it won't get something like asshole when I only have ass in the database and visaversa. Is there a "contains" like Perl's =~ for MySQL, that you know of in your infinite wisdom?
Or should I go ask on a MySQL board, if I can find one?
thx,
Richard
|
---|
Back to
Seekers of Perl Wisdom