|
From: Nasreen Laghari on 29 Apr 2008 14:27 Hi, Why my program is not going in while loop? When I run the same query in SQL cmd, it brings result but here when I print $result gives Resouce ID number means $result has data then why $row is empty. $query = 'SELECT * FROM `gig` LEFT JOIN genre ON gig.genreId=genre.genreId LEFT JOIN venue ON gig.venueID = venue.vid where gig.gigid = '.$gigDetail.' ORDER BY gig.gigid'; $result = mysql_query($query) or die(mysql_error()); while ($row = mysql_fetch_array($result)) { echo "Program is in While loop"; $g_name = $row["gig.gigName"]; $vname = $row["venue.venueName"]; $genre = $row["genre.name"]; echo("Gig Name: ".$g_name); } Regards Nasreen ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile.. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
From: "Jon L." on 29 Apr 2008 14:46 I could be wrong, but I don't think table aliases continue to exist in PHP; only the column names. $g_name = $row["gigName"]; $vname = $row["venueName"]; $genre = $row["name"]; You may also consider revising the query to only grab the columns you need, using an alias for at least genre.name. $query = 'SELECT gig.gigName AS gig, venue.venueName AS venue, genre.name AS genre FROM `gig` LEFT JOIN genre ON gig.genreId=genre.genreId LEFT JOIN venue ON gig.venueID = venue.vid where gig.gigid = '.$gigDetail.' ORDER BY gig.gigid'; $result = mysql_query($query) or die(mysql_error()); while ($row = mysql_fetch_array($result)) { echo "Program is in While loop"; $g_name = $row["gig"]; $vname = $row["venue"]; $genre = $row["genre"]; echo("Gig Name: ".$g_name); } - Jon L. On Tue, Apr 29, 2008 at 1:27 PM, Nasreen Laghari <nasreen_laghari(a)yahoo.com> wrote: > Hi, > Why my program is not going in while loop? When I run the same query in > SQL cmd, it brings result but here when I print $result gives Resouce ID > number means $result has data then why $row is empty. > $query = 'SELECT * FROM `gig` LEFT JOIN genre ON gig.genreId=genre.genreId > LEFT JOIN venue ON gig.venueID = venue.vid where gig.gigid = '.$gigDetail.' > ORDER BY gig.gigid'; > > $result = mysql_query($query) or die(mysql_error()); > while ($row = mysql_fetch_array($result)) > { > echo "Program is in While loop"; > $g_name = $row["gig.gigName"]; > $vname = $row["venue.venueName"]; > $genre = $row["genre.name"]; > echo("Gig Name: ".$g_name); > } > Regards > Nasreen > > > > ____________________________________________________________________________________ > Be a better friend, newshound, and > know-it-all with Yahoo! Mobile. Try it now. > http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ >
From: "Ken Keefe" on 29 Apr 2008 14:52 Try doing print_r($row); in your while loop and see what exactly is in that array. Ken On Tue, Apr 29, 2008 at 1:46 PM, Jon L. <jonllmsed(a)gmail.com> wrote: > I could be wrong, but I don't think table aliases continue to exist in PHP; > only the column names. > > $g_name = $row["gigName"]; > $vname = $row["venueName"]; > $genre = $row["name"]; > > > You may also consider revising the query to only grab the columns you need, > using an alias for at least genre.name. > > $query = 'SELECT gig.gigName AS gig, venue.venueName AS venue, genre.name AS > genre FROM `gig` LEFT JOIN genre ON gig.genreId=genre.genreId LEFT JOIN > > venue ON gig.venueID = venue.vid where gig.gigid = '.$gigDetail.' ORDER BY > gig.gigid'; > > $result = mysql_query($query) or die(mysql_error()); > while ($row = mysql_fetch_array($result)) > { > echo "Program is in While loop"; > $g_name = $row["gig"]; > $vname = $row["venue"]; > $genre = $row["genre"]; > > echo("Gig Name: ".$g_name); > } > > > - Jon L. > > > On Tue, Apr 29, 2008 at 1:27 PM, Nasreen Laghari <nasreen_laghari(a)yahoo.com> > wrote: > > > > > Hi, > > Why my program is not going in while loop? When I run the same query in > > SQL cmd, it brings result but here when I print $result gives Resouce ID > > number means $result has data then why $row is empty. > > $query = 'SELECT * FROM `gig` LEFT JOIN genre ON gig.genreId=genre.genreId > > LEFT JOIN venue ON gig.venueID = venue.vid where gig.gigid = '.$gigDetail.' > > ORDER BY gig.gigid'; > > > > $result = mysql_query($query) or die(mysql_error()); > > while ($row = mysql_fetch_array($result)) > > { > > echo "Program is in While loop"; > > $g_name = $row["gig.gigName"]; > > $vname = $row["venue.venueName"]; > > $genre = $row["genre.name"]; > > echo("Gig Name: ".$g_name); > > } > > Regards > > Nasreen > > > > > > > > ____________________________________________________________________________________ > > Be a better friend, newshound, and > > know-it-all with Yahoo! Mobile. Try it now. > > http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ > > >
From: Chris on 29 Apr 2008 20:01 Nasreen Laghari wrote: > Hi, > Why my program is not going in while loop? When I run the same query in SQL cmd, it brings result but here when I print $result gives Resouce ID number means $result has data then why $row is empty. No, it means the query worked. If it wasn't a resource it would be false (eg an sql error). See how many rows are returned: echo mysql_num_rows($result); What does that query return when you run it outside of php? -- Postgresql & php tutorials http://www.designmagick.com/
|
Pages: 1 Prev: Query Criteria Next: fourat wants to keep up with you on Twitter |