$sql = "select * from table1 where texto LIKE '%".$busca."%'
union
select * from table2 where texto LIKE '%".$busca."%'";
$resultado = mysql_query($sql);
E depois criei um loop com while para exibir os resultados, mas
retorna o seguinte erro:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given
e não retorna resultado nenhum, gostaria de saber onde estou errando e
se esta é realmente a forma correta para se fazer uma consulta em
multiplas tabelas.
--
Amplexos,
Leo Baiano
http://www.leobaiano.com
http://www.blog.ljunior.com
http://www.mcelebridades.com
http://www.twitter.com/leobaiano
--
============================================================
LEIAM SEMPRE AS REGRAS DA LISTA:
http://groups.google.com.br/group/listaphp/web/regras-da-lista-php
--
LISTA PHP > http://groups.google.com.br/group/listaphp
--
REVISTA PHP > http://www.revistaphp.com.br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================
#1222 - The used SELECT statements have a different number of columns
Acho que não entendi direito o que é esse lance de quantidade de
colunas, nos dois selects estou fazendo a busca em 3 campos.
Essa é a unica e/ou melhor forma de se fazer uma consulta em multiplas
tabelas? No meu caso as tabelas não são parecidas e a quantidade de
campos pesquisados em cada uma nem sempre será a mesma, então se essa
for uma limitação do union não vai servir.
2010/8/22, Marcel Araujo <cece...@gmail.com>:
2010/8/22 Leo Baiano <ljuni...@gmail.com>:
> --
> ============================================================
> LEIAM SEMPRE AS REGRAS DA LISTA:
> http://groups.google.com.br/group/listaphp/web/regras-da-lista-php
> --
> LISTA PHP > http://groups.google.com.br/group/listaphp
> --
> REVISTA PHP > http://www.revistaphp.com.br
> --
> AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
> --
> PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
> --
> DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
> ============================================================
--
Gilberto M O Otani
gilbert...@gmail.com
--
Felipe Moraes, como você faria isso com JOIN ou com subquery?
O que vejo de errado é usar o atalho "*" em uma consulta que usa UNION. Mesmo que as tabelas envolvidas tivessem o mesmo número de colunas (e estivessem na mesma ordem), não deveria ser usado "*", pois em determinado ponto do desenvolvimento poderia surgir a necessidade de se criar uma nova coluna em uma das tabelas e a consulta pararia de funcionar.
O correto é especificar quais campos devem ser consultados da primeira e da segunda tabela, sendo que estes campos precisam ser especificados na ordem em que ocorre a correspondência de valores. Ou seja, o primeiro campo da primeira tabela deve ser do mesmo tipo que o primeiro campo da segunda, etc.
É só ler o manual: http://dev.mysql.com/doc/refman/5.0/en/union.html