inquisitive Posted August 18, 2008 Share Posted August 18, 2008 Here is the error; Warning: mysql_fetch_array(): 7 is not a valid MySQL...and the line is that errors is the while statement at the end... The following is the code: <?php if(isset($_POST['mysubmit'])) switch($_POST['type_account']) { case "pr_specialist": $type = "PRSpecialist"; break; case "contractors": $type = "Contractor"; break; case "students": $type = "Student"; break; case "admin": $type = "admin"; break; /* more */ } $query = "SELECT * FROM users WHERE pending = 0 AND type = '$type'"; $result = mysql_query($query) or die(mysql_error()); while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { /* parse rows */ ?> Link to comment https://forums.phpfreaks.com/topic/120153-debugging/ Share on other sites More sharing options...
Xurion Posted August 18, 2008 Share Posted August 18, 2008 Put an echo to see how many rows you have in your result set. I'm gona guess you have none, and that's what's causing your error: echo mysql_num_rows($result); Link to comment https://forums.phpfreaks.com/topic/120153-debugging/#findComment-619024 Share on other sites More sharing options...
inquisitive Posted August 18, 2008 Author Share Posted August 18, 2008 The number 2 comes up on my page...when the ehco is put in Link to comment https://forums.phpfreaks.com/topic/120153-debugging/#findComment-619028 Share on other sites More sharing options...
inquisitive Posted August 18, 2008 Author Share Posted August 18, 2008 Why don't you think my result variable is storing anything...? Link to comment https://forums.phpfreaks.com/topic/120153-debugging/#findComment-619029 Share on other sites More sharing options...
PFMaBiSmAd Posted August 18, 2008 Share Posted August 18, 2008 The code inside of the while() loop is overwriting $result. How do I know this? Your mysql_query() has an or die() statement that would prevent the while loop from being executed at all if there was no result resource (and this has nothing to do with how many rows there are in the result set because a result set with zero rows returns a result resource.) Link to comment https://forums.phpfreaks.com/topic/120153-debugging/#findComment-619113 Share on other sites More sharing options...
inquisitive Posted August 18, 2008 Author Share Posted August 18, 2008 this use to work...then it just crashed....how would i make it then so it retrieves all data..instead of just a single record... Link to comment https://forums.phpfreaks.com/topic/120153-debugging/#findComment-619116 Share on other sites More sharing options...
Xurion Posted August 18, 2008 Share Posted August 18, 2008 Try this <?php if(isset($_POST['mysubmit'])){ switch($_POST['type_account']) { case "pr_specialist": $type = "PRSpecialist"; break; case "contractors": $type = "Contractor"; break; case "students": $type = "Student"; break; case "admin": $type = "admin"; break; } $query = "SELECT * FROM users WHERE pending = 0 AND type = '$type'"; $result = mysql_query($query) or die(mysql_error()); while ($line = mysql_fetch_assoc($result)) { print_r($line); } } ?> Link to comment https://forums.phpfreaks.com/topic/120153-debugging/#findComment-619170 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.