Jump to content

Archived

This topic is now archived and is closed to further replies.

infophiliac

avg() function from php

Recommended Posts

I'm trying to send the following query from a page written with PHP:

$query = "SELECT AVG(rating) FROM ratings WHERE rtime >= SUBDATE(NOW(), INTERVAL 2 HOUR) AND id=1";

When I run the query from the MySQL command line, it comes back with exactly what it should.  When I run the page with that query, it returns nothing (including no error message).  I've debugged to the point where I know that the query works if I take out AVG(), but can't for the life of me see why.

I'm running MySQL 4.0 and PHP 4.4.1 on FreeBSD.

Any insights would be appreciated.

Share this post


Link to post
Share on other sites
Very strange... it can't return nothing!

Share this post


Link to post
Share on other sites
I haven't actually managed to wrap my head around all the why and wherefore, but I did solve the problem.  The average needed to be assigned an alias, so "SELECT AVG(rating)..." became "SELECT AVG(rating) as r."  Like I said, I'm still figuring out why that is so, but the immediate issue is resolved.

Share this post


Link to post
Share on other sites
Sounds like you were getting back a hash in PHP, and had no way to properly reference the expression column.

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.