Helmesvs 10 Denunciar post Postado Agosto 20, 2015 Pessoal estou tentando da um select nessas duas tabelas, mas ta dando esse erro aqui : Fatal error: Call to a member function fetch_assoc() on a non-object in C:\xampp\htdocs\astronews\busca.php on line 119 $con = new mysqli('localhost', 'root', '', 'astronews'); $pesquisado = $_GET['busca']; $pesTratado = str_replace('+',' ',$pesquisado); $sql = ("(SELECT * FROM publicacoes) UNION (SELECT * FROM materias) WHERE titulo LIKE '%$pesTratado%' ORDER BY datahora DESC LIMIT $inicio, $quantidade"); $query = $mysqli->query($sql); while ($linha = $query->fetch_assoc() ) {?> <!-- LINHA 19 --> Sabem como resolver? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Agosto 20, 2015 query() falhou e retornou false. Explico isso neste link: http://rberaldo.com.br/as-mensagens-de-erros-mais-comuns-do-php/#mysql_result_resource a sua sintaxe do union está errada. O WHERE não está se ligando a nenhum dos selects Compartilhar este post Link para o post Compartilhar em outros sites
Helmesvs 10 Denunciar post Postado Agosto 20, 2015 query() falhou e retornou false. Explico isso neste link: http://rberaldo.com.br/as-mensagens-de-erros-mais-comuns-do-php/#mysql_result_resource a sua sintaxe do union está errada. O WHERE não está se ligando a nenhum dos selects Eu ja tinha recebido esse conteudo por email, mas mesmo assim nao consegui resolver ainda. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Agosto 20, 2015 pra exibir o erro, basta isto: $query = $mysqli->query($sql) or exit($mysqli->error); O erro está na sintaxe do seu union. O UNION deve seguir esta sintaxe: SELECT dados FROM tabela WHERE condicao UNION SELECT dados FROM outra_tabela WHERE condicao; Ou seja, é como se fossem dois SELECTS, um independente do outro Se você quiser relacionar tabelas, precisa usar JOIN, não UNION Compartilhar este post Link para o post Compartilhar em outros sites
Helmesvs 10 Denunciar post Postado Agosto 21, 2015 pra exibir o erro, basta isto: $query = $mysqli->query($sql) or exit($mysqli->error); O erro está na sintaxe do seu union. O UNION deve seguir esta sintaxe: SELECT dados FROM tabela WHERE condicao UNION SELECT dados FROM outra_tabela WHERE condicao; Ou seja, é como se fossem dois SELECTS, um independente do outro Se você quiser relacionar tabelas, precisa usar JOIN, não UNION Vlw amigo, agora deu certo, vo deixar o codigo aqui: $sql = ("SELECT id, titulo, datahora, Day(datahora), foto1, descricao, visualizacao, tipo FROM publicacoes WHERE titulo LIKE '%$pesTratado%' UNION SELECT id, titulo, datahora, Day(datahora), foto1, descricao, visualizacao, tipo FROM materias WHERE titulo LIKE '%$pesTratado%' ORDER BY datahora DESC LIMIT $inicio, $quantidade"); Compartilhar este post Link para o post Compartilhar em outros sites