|
Prev: A very basic PHP question
Next: playing longblob media
From: Evert Lammerts on 26 Apr 2008 07:31 I've forwarded this msg to the php-db list (php-db(a)lists.php.net). Try to subscribe to it. The mysql extension for php is only an interface between php and mysql - the parsing of queries is done within mysql itself. So if your query works through CLI it will also work from within php. Try to var_dump every result row: while ($row = mysql_fetch_assoc($result)) var_dump($row); Apart from this, why would you use the COUNT function and return the amount of NOT NULL y's (which all of your y's are because of your WHERE clause) for every row in the result set? You can simply count the amount of loops when looping over the result, or you can use php's mysql_num_rows($result) function. Paul Heath wrote: > This may be the wrong message board for this [apologies if it is], but > if any of you are PHP/MySQL gurus. Have been trying to get a > particular MySQL query to work the through PHP5 with out success. > > I'll simplify my problem: > > I have an MySQL query along the lines of ("SELECT x,y,COUNT(y),z FROM > table WHERE y LIKE '%/some text% /AND --/someotherstuff-- /GROUP BY y"); > > When i run this on the MySQL command line it works fine, when i run > inside my PHP file, it returns everything ok except the COUNT (y) > value [Note y is a string variable].... > > I then go on to run > /$result = mysql_query($query) or die ('cant run query'.mysql_error());/ > /while ($row = mysql_fetch_assoc($result)) { > } etc etc... > > /all my other queries in this file work perfectly. > > When i put some checking code in it definately is returning blank/null > from MySQL for this count value > > Is there something special with PHP and COUNT() MySQL functions im not > doing.....?? or does the problem lie on the MySQL side and how it > treats PHP requests for COUNT()? > > I would appreciate any advice now cos now ive ran out of ideas! > > -- > Rgds > Paul >
From: "Yves Sucaet" on 26 Apr 2008 10:23 I notice your query says SELECT x,y,COUNT(y),z FROM ... GROUP BY y It was my understanding that when using aggregate function, you need to group by each field in your select-clause, so your query should be: SELECT x,y,COUNT(y),z FROM ... GROUP BY x, y, z Hope this helps, Yves Sucaet Iowa State University ----- Original Message ----- From: "Evert Lammerts" <evert.lammerts(a)gmail.com> To: <users(a)httpd.apache.org>; <php-db(a)lists.php.net> Sent: Saturday, April 26, 2008 6:31 AM Subject: [PHP-DB] Re: [users(a)httpd] PHP/MySQL and COUNT() problem > I've forwarded this msg to the php-db list (php-db(a)lists.php.net). Try to > subscribe to it. > > The mysql extension for php is only an interface between php and mysql - > the parsing of queries is done within mysql itself. So if your query works > through CLI it will also work from within php. Try to var_dump every > result row: > > while ($row = mysql_fetch_assoc($result)) > var_dump($row); > > Apart from this, why would you use the COUNT function and return the > amount of NOT NULL y's (which all of your y's are because of your WHERE > clause) for every row in the result set? You can simply count the amount > of loops when looping over the result, or you can use php's > mysql_num_rows($result) function. > > Paul Heath wrote: >> This may be the wrong message board for this [apologies if it is], but if >> any of you are PHP/MySQL gurus. Have been trying to get a particular >> MySQL query to work the through PHP5 with out success. >> >> I'll simplify my problem: >> >> I have an MySQL query along the lines of ("SELECT x,y,COUNT(y),z FROM >> table WHERE y LIKE '%/some text% /AND --/someotherstuff-- /GROUP BY y"); >> >> When i run this on the MySQL command line it works fine, when i run >> inside my PHP file, it returns everything ok except the COUNT (y) value >> [Note y is a string variable].... >> >> I then go on to run >> /$result = mysql_query($query) or die ('cant run query'.mysql_error());/ >> /while ($row = mysql_fetch_assoc($result)) { >> } etc etc... >> >> /all my other queries in this file work perfectly. >> >> When i put some checking code in it definately is returning blank/null >> from MySQL for this count value >> >> Is there something special with PHP and COUNT() MySQL functions im not >> doing.....?? or does the problem lie on the MySQL side and how it treats >> PHP requests for COUNT()? >> >> I would appreciate any advice now cos now ive ran out of ideas! >> >> -- >> Rgds >> Paul >> > > > -- > PHP Database Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > >
|
Pages: 1 Prev: A very basic PHP question Next: playing longblob media |