Yesideez Posted December 21, 2008 Share Posted December 21, 2008 This is my query: $gallery=mysql_fetch_assoc(mysql_query("SELECT a.id,a.name,g.artistid,g.specialityid,g.pics,s.id,s.name AS sname,s.prefix FROM artists a, artist_galleries g, specialities s WHERE a.id = '".$intArtistID."' AND a.id = g.artistid AND g.artistid = a.id AND s.id = '".$intGalleryID."' AND g.specialityid = s.id")); This query when run in phpMyAdmin gives me exactly what I want but extracting it within PHP is proving to be impossible. My value returned is not what I'm expecting so I'm trying this: foreach ($gallery as $key => $value) { echo $key.'='.$value.'<br />'; } All I'm getting is this: Warning: Invalid argument supplied for foreach() in /home/trent/public_html/artistgallery.php on line 8 Quote Link to comment https://forums.phpfreaks.com/topic/137908-solved-foreach-query/ Share on other sites More sharing options...
redarrow Posted December 21, 2008 Share Posted December 21, 2008 try. <?php foreach ($_POST['gallery'] as $key => $value) { echo $key.'='.$value.'<br />'; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/137908-solved-foreach-query/#findComment-720770 Share on other sites More sharing options...
Yesideez Posted December 21, 2008 Author Share Posted December 21, 2008 $gallery isn't a $_POST value - it's returned from the query. Quote Link to comment https://forums.phpfreaks.com/topic/137908-solved-foreach-query/#findComment-720773 Share on other sites More sharing options...
Yesideez Posted December 21, 2008 Author Share Posted December 21, 2008 Seems my query is returning only "1" - a count() of $gallery returns 1. Any idea why PHP is giving me a number instead of an array containing my data? phpMyAdmin seems to work perfectly fine! Quote Link to comment https://forums.phpfreaks.com/topic/137908-solved-foreach-query/#findComment-720776 Share on other sites More sharing options...
Yesideez Posted December 21, 2008 Author Share Posted December 21, 2008 Moral of this? Check how you're reading the URL... I had this: $intGalleryID=intval($_GET['id']); and this is what I should have had: $intGalleryID=intval($_GET['sp']); Now everything works smoothly. Quote Link to comment https://forums.phpfreaks.com/topic/137908-solved-foreach-query/#findComment-720779 Share on other sites More sharing options...
Mark Baker Posted December 21, 2008 Share Posted December 21, 2008 Seems my query is returning only "1" - a count() of $gallery returns 1. Any idea why PHP is giving me a number instead of an array containing my data? phpMyAdmin seems to work perfectly fine! Yes, it's not returning a number, it's returning a boolean true indicating that it was successful. Don't try to combine statements when they can return multiple results $result = mysql_query("SELECT ...")); while (mysql_fetch_assoc($result)) { // do something } Quote Link to comment https://forums.phpfreaks.com/topic/137908-solved-foreach-query/#findComment-720780 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.