Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá companheiros, estou fazendo um simples sistema de busca que traga somente os resultados de tabelas especificas. O problema é que está ocasionando um erro devido as tabelas serem diferentes e suas linhas. Vejam meu script.
$q = $_GET['busca'];
$query='
SELECT * FROM noticia WHERE noticia_title LIKE "%'.$q.'% or noticia_content LIKE "%'.$q.'%"
UNION
SELECT * FROM eventos WHERE evento_nome LIKE "%'.$q.'% or evento_content LIKE "%'.$q.'%"
UNION
SELECT * FROM albuns WHERE album_name LIKE "%'.$q.'%" or album_descricao LIKE "%'.$q.'%"
';
$result = mysql_query($query);
$row_row = mysql_fetch_assoc($result);
$row_count=mysql_num_rows($row_row);
while ($row = mysql_fetch_array($query))
{
if ($row_count != 0)
{
echo "Durante sua busca foi encontrando $row_count resultados. ";
}
else
{
echo "Nada foi encontrado.";
}
}
O erro que está ocasionando é:
**Warning**: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in
**Warning**: mysql_num_rows(): supplied argument is not a valid MySQL result resource in
**Warning**: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Alguém poderia me ajudar?>
13 minutos atrás, Remazela disse:
Olá, tenta desta forma.
//Faz a conexão com o Banco de Dados
$conecta = mysql_connect("localhost", "root", "");
mysql_select_db("nomeBancoDados", $conecta);
//SQL PARA RECUPERAR OS RESULTADOS, SE TIVER A PROPRIEDADE WHERE USE A MESMA TAMBÉM
$sql_res = mysql_query("SELECT * FROM imoveis WHERE noticiaStatus = 'pendente'
AND membroId LIKE '%$membroId%'
ORDER BY noticiaTermino ASC");
$total = mysql_num_rows($sql_res);
Se ajudou, poste um OK.
Renato
Companheiro,
Isso não funciona para mim! Você viu meu script?amigo, vi sim.
mesmo sendo simples o código, apenas tenta para ver o resultado.
Não funcionou. A principio esse erro que está ocasionando tem haver com o SELECT e os UNION das tabelas. Por isso está ocasionando este erro. Não sei como resolver.
@fydellys joia!
Você postou um erro de PHP, mas como você mesmo observou, é bem provável que o problema esteja na query.
Antes de tudo, tente executar essa query diretamente no banco de dados, só então, passe para o PHP.
O UNION exige que ambas as tabelas tenha a mesma quantidade de colunas, provavelmente é esse o problema, mas também suspeito que mesmo que tenham ou venha a ter a mesma quantidade de colunas, não é exatamente essa consulta que você quer. Em resumo, primeiro teste e modifique conforme necessário sua consulta, diretamente na base
Olá, tenta desta forma.
//Faz a conexão com o Banco de Dados