RobinTibbs Posted January 21, 2007 Share Posted January 21, 2007 the problem here is that the echo statements appear to echo twice, even though there is only (currently) one row in the table. any ideas? many thanks.[code]$query = "SELECT name, version FROM browsers WHERE agentstring='$agentstring'"; $result = mysql_query($query) or die ('Query failed: '.mysql_error()); while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { foreach($row as $value) { if($bname = $value[1]) { echo "This string appears to be correct<br />"; } else { echo "Something wrong here!"; } } }[/code] Quote Link to comment Share on other sites More sharing options...
mausie Posted January 21, 2007 Share Posted January 21, 2007 Why use a foreach loop within the while loop? Quote Link to comment Share on other sites More sharing options...
paul2463 Posted January 21, 2007 Share Posted January 21, 2007 a couple of things in your code, I agree with mausie why use two loops this may cause it to rpint out twice when you dont want it too, also when you are checking for equality you must use two == not just = as this is athe assignment charactertry this for your code[code]<?php$query = "SELECT name, version FROM browsers WHERE agentstring='$agentstring'";$result = mysql_query($query) or die ('Query failed: '.mysql_error());while($row = mysql_fetch_assoc($result)) { if($bname == $row['name']) { echo "This string appears to be correct<br />"; } else { echo "Something wrong here!"; }}?>[/code] Quote Link to comment 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.