What is it doing, or, not doing?
maybe the "or" on line 5 should be "||"
I can't get this to work, if someone could help me it'd be much appreciated. I'd rather not show the whole code.
Code:elseif (preg_match("#^(/rename\s+?)#i", $message, $matches) && $db->isAdmin()) { $rename = $db->sanitize(trim(str_replace($matches[0], "", $message))); $selectuser = $con->query("SELECT * FROM users WHERE username='$rename'"); $checkuser = $con->query("SELECT * FROM users WHERE username='$matches[0]'"); if(!$selectuser or !$checkuser) { echo $con->mysql_error(); } else { if($selectuser && !$checkuser) { $con->query("UPDATE users SET Username='$matches[0]' WHERE Username='$rename'"); $message = ' has changed the user '.$user.'\'s username to '.$matches[0].'.'; } else { $message = 'The username you have entered is invalid or already taken.'; } } }
What is it doing, or, not doing?
maybe the "or" on line 5 should be "||"
Last edited by abuckau907; 04-03-2014 at 09:03 PM.
'Some things that can be counted, don't matter. And some things that matter, can't be counted' - A.E.
--
You're not giving me much to go off of...
Which output(s) do you get?elseif (preg_match("#^(/rename\s+?)#i", $message, $matches) && $db->isAdmin()) {
echo "Path1 taken <br />";
$rename = $db->sanitize(trim(str_replace($matches[0], "", $message)));
$selectuser = $con->query("SELECT * FROM users WHERE username='$rename'");
$checkuser = $con->query("SELECT * FROM users WHERE username='$matches[0]'");
if(!$selectuser or !$checkuser)
{
echo "Path2 taken <br />";
echo $con->mysql_error();
}
else
{
if($selectuser && !$checkuser)
{
echo "Path3 taken <br />";
$con->query("UPDATE users SET Username='$matches[0]' WHERE Username='$rename'");
$message = ' has changed the user '.$user.'\'s username to '.$matches[0].'.';
}
else
{
echo "Path4 taken <br />";
$message = 'The username you have entered is invalid or already taken.';
}
}
}
edit: Please describe your problem more than "it won't work/nothing happens" ..else I can't help.
tip: sprinkle more echo's into your code so you know which pieces of code are actually being executed/the path of execution.
Last edited by abuckau907; 04-04-2014 at 11:39 PM. Reason: used cout instead of echo : p
'Some things that can be counted, don't matter. And some things that matter, can't be counted' - A.E.
--
I Can help you if you can post the whole script.
But with a small snipped like this it's sort of hard to figure out whats the problem.
Your elseif is in an odd spot