Michdd Posted July 12, 2009 Share Posted July 12, 2009 I have a simple query and I'm trying to check to see if a board already exists with the same name or abbreviation, excluding the current board. $result = mysql_query("SELECT * FROM `boards` WHERE name!='$board' AND abb='$abb' OR name='$newBoardName'"); $row = mysql_fetch_assoc($result); if(!mysql_num_rows($result)) { } else { echo $board . '-' . $row['name']; } How is it possible that $board is the same as $row['name'] when that's clearly excluded in my query? Quote Link to comment https://forums.phpfreaks.com/topic/165725-solved-makes-no-sense/ Share on other sites More sharing options...
Daniel0 Posted July 12, 2009 Share Posted July 12, 2009 AND has higher precedence than OR. Quote Link to comment https://forums.phpfreaks.com/topic/165725-solved-makes-no-sense/#findComment-874243 Share on other sites More sharing options...
plutomed Posted July 12, 2009 Share Posted July 12, 2009 I think your query is wrong. There is 2 ways of doing it...I think. mysql_query("SELECT * FROM `boards` WHERE name!='{$board}' AND abb='{$abb}' OR name='{$newBoardName}'"); or mysql_query("SELECT * FROM `boards` WHERE name!='".$board."' AND abb='".$abb."' OR name='".$newBoardName."'"); Quote Link to comment https://forums.phpfreaks.com/topic/165725-solved-makes-no-sense/#findComment-874244 Share on other sites More sharing options...
Daniel0 Posted July 12, 2009 Share Posted July 12, 2009 To clarify my post above, it looks like you expect your query to be executed like this: SELECT * FROM `boards` WHERE name!='$board' AND (abb='$abb' OR name='$newBoardName') But that's not the case. It'll be executed like this: SELECT * FROM `boards` WHERE (name!='$board' AND abb='$abb') OR name='$newBoardName' Because: AND has higher precedence than OR. Which is why it's possible that $row['name'] == $board in your result set. Quote Link to comment https://forums.phpfreaks.com/topic/165725-solved-makes-no-sense/#findComment-874247 Share on other sites More sharing options...
Michdd Posted July 12, 2009 Author Share Posted July 12, 2009 I never knew that, thanks. Quote Link to comment https://forums.phpfreaks.com/topic/165725-solved-makes-no-sense/#findComment-874249 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.