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 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 />'; } ?> 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. 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! 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. 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 } Link to comment https://forums.phpfreaks.com/topic/137908-solved-foreach-query/#findComment-720780 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.