We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

MySQL MAX(), AVG(), and MIN() not working in PHP

Sucao
Sucao asked
on
Medium Priority
566 Views
Last Modified: 2013-12-13
Hey,

Whenever I run this script something is going wrong because the max(), avg(), and min() values are coming up as 0. I have run is_null() on all of them and they are not NULL. They are just coming up as 0, but they shouldn't be. 1 vote has been "4" and 1 vote has been "2" so I should be coming up with an avg of 3, max of 4 and min of 2. I can only get COUNT() to work in the statement below, which is giving me the correct answer of 2.

Thanks. Any help is appreciated.
$get_advice_sql = "SELECT a.ID, a.person_ID, a.type, a.keywords, a.title, a.information, a.effect_start, Count(v.vote), Avg(v.vote), Max(v.vote), Min(v.vote), u.clsUserName
				FROM articles as a 
				LEFT JOIN USERTABLE as u ON u.clsUserID = a.person_id
				LEFT JOIN votes as v ON a.ID = v.article_ID
				WHERE a.type = 'advice'
				AND a.ID = (SELECT max(ID) 
							FROM articles
							WHERE type = 'advice')
				GROUP BY a.ID";
	if ($result = mysqli_query($mysqli, $get_advice_sql)) {
		while ($row = mysqli_fetch_row($result)) {
				$advice_id = $row[0];
				$title = $row[4];
				$information = $row[5];
				$effect_start = $row[6];
				$votes_count = $row[7];
				$votes_average = $row[8];
				$votes_max = $row[9];
				$votes_min = $row[10];
				$author = $row[11];		
		}
	}

Open in new window

Comment
Watch Question

Commented:
Unlock this solution with a free trial preview.
(No credit card required)
Get Preview
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a free trial preview!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.