denoteone Posted March 16, 2010 Share Posted March 16, 2010 I am looking at the table named price2 and it is completely empty so why when I query the database is show that my result variable is set I am using the if statement correctly? I am posting this here because I dont think it is my mysql query. :confused: $store_info = $_GET['id']; $sql = "SELECT * FROM price2 WHERE price2.storeID = '$store_info'"; $results = $db->query($sql); if(!isset($results)){ [i]no return[/i] on my sql query }else if (isset($results)){ means that there is a return on my sql query } just to make sure I also did while($row = mysql_fetch_assoc($results)){ echo "test"; } just to see and no test are echoed Link to comment https://forums.phpfreaks.com/topic/195457-using-if-statement-to-see-if-variable-is-set/ Share on other sites More sharing options...
nafetski Posted March 16, 2010 Share Posted March 16, 2010 Here is the thing about using isset() Whatever DB class you are using that executes the result, it might return something (such as false) in which case...that variable IS SET What you really want to do depends on how your library is collecting the data. If it stores it via mysql_fetch_assoc then you can just count the array set. If the count = 0, then you know nothing is returned. That's probably your best bet...let me know if it works! Link to comment https://forums.phpfreaks.com/topic/195457-using-if-statement-to-see-if-variable-is-set/#findComment-1027065 Share on other sites More sharing options...
fr34k Posted March 16, 2010 Share Posted March 16, 2010 Here is the thing about using isset() Whatever DB class you are using that executes the result, it might return something (such as false) in which case...that variable IS SET What you really want to do depends on how your library is collecting the data. If it stores it via mysql_fetch_assoc then you can just count the array set. If the count = 0, then you know nothing is returned. That's probably your best bet...let me know if it works! Spot on! Expanding on this, a little more, you can also use mysql_num_rows to return the number of rows in a result. If it returns false or 0, then you know you don't have any records. You can find out more about mysql_num_rows here: http://us.php.net/manual/en/function.mysql-num-rows.php Link to comment https://forums.phpfreaks.com/topic/195457-using-if-statement-to-see-if-variable-is-set/#findComment-1027070 Share on other sites More sharing options...
nafetski Posted March 16, 2010 Share Posted March 16, 2010 Yep, that's a better solution actually Link to comment https://forums.phpfreaks.com/topic/195457-using-if-statement-to-see-if-variable-is-set/#findComment-1027074 Share on other sites More sharing options...
denoteone Posted March 16, 2010 Author Share Posted March 16, 2010 if(mysql_num_rows($results) == 0 ); worked perfectly. Thanks guys! note my database class was returning false. Thanks again! Link to comment https://forums.phpfreaks.com/topic/195457-using-if-statement-to-see-if-variable-is-set/#findComment-1027081 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.