erme Posted August 15, 2012 Share Posted August 15, 2012 Hi, trying to query 2 tables in the database using the below for a search function $result = mysql_query("SELECT * FROM cms_pages WHERE BodyCopy LIKE '%$kword%' UNION SELECT * FROM downloads WHERE PageTitle LIKE '%$kword%'"); However the search returns nothing. If i remove the union it works perfect (with either table). This is the warning I get Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ....... on line 76 Line 76 is: while($row = mysql_fetch_array($result, MYSQL_ASSOC)){ ....... Is there anything obvious I may be doing wrong? Quote Link to comment https://forums.phpfreaks.com/topic/267108-union-not-working/ Share on other sites More sharing options...
erme Posted August 15, 2012 Author Share Posted August 15, 2012 Think the issue is else where. Will have to combine the table. Quote Link to comment https://forums.phpfreaks.com/topic/267108-union-not-working/#findComment-1369548 Share on other sites More sharing options...
jazzman1 Posted August 15, 2012 Share Posted August 15, 2012 The problem maybe is: Each SELECT statement within the UNION must have the same number of columns. The columns must also have similar data types. Also, the columns in each SELECT statement must be in the same order. Quote Link to comment https://forums.phpfreaks.com/topic/267108-union-not-working/#findComment-1369550 Share on other sites More sharing options...
Christian F. Posted August 15, 2012 Share Posted August 15, 2012 If you've tested the value of $result, and printed out the MySQL error if it was false, then you'd be able to see what the error was. I suspect Jazzman1 is right on the money on this one. PS: Always define the fields you want, and avoid using *. Not only is it inefficient, but it also hurts readability and causes issues like this. Quote Link to comment https://forums.phpfreaks.com/topic/267108-union-not-working/#findComment-1369607 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.