It may be because your not initialising your array. ie: $partner_type = array(); $partner_region = array(); PHP should automatically make it an array (if its not previously a different type) as soon as you do $partner_type[] but if you get no results from your query then it wont be an array. Cheers, Owen Prime http://www.noggin.com.au Nigel Dunn wrote: > Hi, > > If anyone can help me with this I'd be most appreciative. > > I'm constructing 2 arrays of IDs from 2 different tables. Then I want to > compare one to the other and only use the results that both arrays share > in common to do a query loop that pulls the information for the related > IDs to display. > > The error I get from the code below is: > > Warning: Argument #2 to array_intersect() is not an array in > /usr/local/www/vhosts/trustbuild.co.nz/htdocs/partners_region.php on > line 185 > > I cant see what is causing the problem. > > <<< Start of My Existing Code >>> > > $result = mysql_query("SELECT partner_id FROM partner_region WHERE > region_id = '$r' ORDER BY partner_id"); > if ($row = mysql_fetch_array($result)) { > do { > partner_region[] = $row['partner_id']; > } while ($row = mysql_fetch_array($result)); > } > > if (count($partner_region) != 0) { > array_unique($partner_region); > } > > $result2 = mysql_query("SELECT id FROM partner WHERE type = '$t' ORDER > BY id"); > if ($row2 = mysql_fetch_array($result2)) { > do { > partner_type[] = $row2['id']; > } while ($row2 = mysql_fetch_array($result2)); > } > > if (count($partner_type) != 0) { > array_unique($partner_type); > } > > $partner = array_intersect($partner_region, $partner_type); > > if (count($partner) != 0) { > foreach ($partner as $p) { > $result3 = mysql_query("SELECT * FROM partner WHERE id = '$p'"); > if ($row3 = mysql_fetch_array($result3)) { > do { > $company_name = $row3['company_name']; > $contact_name = $row3['contact_name']; > $physical_address = $row3['physical_address']; > $postal_address = $row3['postal_address']; > $city = $row3['city']; > $phone = $row3['phone']; > $fax = $row3['fax']; > $email = $row3['email']; > $url = $row3['url']; > $gst_number = $row3['gst_number']; > $company_age = $row3['company_age']; > $services = $row3['services']; > $region = region($r); > > if ($count == 0) { > echo "<tr><td bgcolor='#FFFFFF'><a href='closeup.php?id=$id'>$region > $company_name</a><br>Type: $company_type<br>Contact Name: > $contact_name<br>".nl2br($physical_address)."</td></tr>"; > $count++; > } else { > echo "<tr><td bgcolor='#DDDDDD'><a > href='closeup.php?id=$id'>$region $company_name</a><br>Type: > $company_type<br>Contact Name: > $contact_name<br>".nl2br($physical_address)."</td></tr>"; > $count--; > } > } while ($row3 = mysql_fetch_array($result3)); > } > } > } else { > echo "There are no listings for your criteria. Please try again.<br>"; > } > > <<< End of My Existing Code >>> > > Thanks in advance for any help with this one, > > Nigel Dunn -- Cheers, Owen Prime http://www.noggin.com.au -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php