2009/1/25 Ashley Sheridan <ash@xxxxxxxxxxxxxxxxxxxx>: > I've run into a bit of a problem. I put together a query using mysql > variables in the form set @m:= 0; with the select that uses it directly > after. For any wondering, the select was using it as an incremental > value which can't be hard coded, as the value will depend on the > ordering of the results of the query itself. > > The problem seems to be that while phpMyAdmin would execute this double > query perfectly well, php using mysql_query() was having problems, as > apparently it can't actually run multiple queries. > > Now the full query looks something like this: > > > mysql_query("SELECT @m:=0;"); > > $query = "SELECT * FROM( > SELECT profiles.id, ROUND(AVG(rated.score)) AS `rating`, > COUNT(rated.score) AS `total`, @m:=@m+1 AS rank FROM `rated` LEFT JOIN > `profiles` ON (profiles.id = rated.profile_id) GROUP BY rated.profile_id > ORDER BY rating DESC, total DESC) AS ranking WHERE ranking.id=$id"; > $result = mysql_query($query); > > > which seems to be working OK so far, but does anyone know of any > potential pitfalls I might face when doing something like this? It's a security feature to prevent SQL injection. AFAIK you'll have no problems so long as all calls to mysql_query happen on the same DB connection so you might want to start using the linkid parameter. -Stuart -- http://stut.net/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php