Série da semana: Primeiros passos no Angular

Veja mais

<PHP> problemas com INNER JOIN <PHP>

17/04/2019

11

PHP

Ola Nerds estou com problemas com inner join no meu codigo PHP pois estou fazendo um programa de biblioteca e nao estou conseguindo inserir a relação das tabelas segue o Codigo: usuario.php
<?php



$con = mysqli_connect(''localhost'',''root'','''',''systembook'');
$db = mysqli_select_db($con,''systembook'');
$query = mysqli_query($con,"SELECT usuario.nome,usuario.creditos,doacao.liv_doados,emprestismos.liv_emprestados FROM ((usuario INNER JOIN doacao ON usuario.liv_doados=doacao.liv_doados) INNER JOIN emprestismos ON usuario.liv_emprestados=emprestismos.liv_emprestados)");

while ($row = mysqli_fetch_assoc($query)) {
echo ''<tr>'';
echo ''<td>'' . $row[''nome''] . ''</td>'';
echo ''<td>'' . $row[''liv_doados''] . ''</td>'';
echo ''<td>'' . $row[''liv_emprestados''] . ''</td>'';
echo ''<td>'' . $row[''creditos''] . ''</td>'';
echo ''</tr>'';
$creditos = $row[''creditos''];
}

echo "</table>";
?>

OBS: tenho uma table doação, outra table usuario, e outra table emprestismos.
OBS 2:"detalhe o codigo roda normal se eu colocar select bla bla bla porem quando insiro o inner join ai estraga tudo ate a pontuação de creditos estava dando certo agora nao vai mais nada me ajudem socorro"!
Responder

Post mais votado

18/04/2019

QUERO AGRADESCER O KLEBER E AO VITOR OBRIGADO PELA AJUDA CONSEGUI RESOLVER COLOCANDO UM ID_USER NA NA TABELA DE CADA RELAÇÃO E FOI RESOLVIDO PODE FECHAR O TOPICO
Responder

Mais Posts

17/04/2019

Victor Machado

Opa Rafael, blz?

Pelo o que eu vi aqui você colocou parenteses para montar o inner join, o que está causando erro na query.
Acredito que você tenha tentado a fazer isso:

SELECT usuario.nome,usuario.creditos,doacao.liv_doados,emprestismos.liv_emprestados 
FROM usuario 
INNER JOIN doacao ON usuario.liv_doados = doacao.liv_doados
INNER JOIN emprestismos ON usuario.liv_emprestados = emprestismos.liv_emprestados


Qualquer coisa, só deixar uma mensagem ae :D

Ah.. aqui tem também que esse artigo que da uma explicação geral sobre os joins e como montá-los:
https://www.devmedia.com.br/sql-join-entenda-como-funciona-o-retorno-dos-dados/31006

[]s
Responder

17/04/2019

Rafael Jeck

Opa Rafael, blz?

Pelo o que eu vi aqui você colocou parenteses para montar o inner join, o que está causando erro na query.
Acredito que você tenha tentado a fazer isso:

SELECT usuario.nome,usuario.creditos,doacao.liv_doados,emprestismos.liv_emprestados 
FROM usuario 
INNER JOIN doacao ON usuario.liv_doados = doacao.liv_doados
INNER JOIN emprestismos ON usuario.liv_emprestados = emprestismos.liv_emprestados


Qualquer coisa, só deixar uma mensagem ae :D

Ah.. aqui tem também que esse artigo que da uma explicação geral sobre os joins e como montá-los:
https://www.devmedia.com.br/sql-join-entenda-como-funciona-o-retorno-dos-dados/31006

[]s

blz arrumei porem ele nao retorna valor pra mim quando insiro algo na livro doação e nao salva na query so diz que foi incluido no banco mas nao foi....será que é problema de logica no meu Banco de dados
Responder

17/04/2019

Kleber Santos

SELECT usuario.nome,usuario.creditos,doacao.liv_doados,emprestismos.liv_emprestados
FROM usuario
LEFT OUTER JOIN doacao ON usuario.liv_doados = doacao.liv_doados
LEFT OUTER JOIN emprestismos ON usuario.liv_emprestados = emprestismos.liv_emprestados

OU

SELECT usuario.nome,usuario.creditos,doacao.liv_doados,emprestismos.liv_emprestados
FROM usuario
RIGHT OUTER JOIN doacao ON usuario.liv_doados = doacao.liv_doados
RIGHT OUTER JOIN emprestismos ON usuario.liv_emprestados = emprestismos.liv_emprestados
Responder

18/04/2019

Rafael Jeck

SELECT usuario.nome,usuario.creditos,doacao.liv_doados,emprestismos.liv_emprestados
FROM usuario
LEFT OUTER JOIN doacao ON usuario.liv_doados = doacao.liv_doados
LEFT OUTER JOIN emprestismos ON usuario.liv_emprestados = emprestismos.liv_emprestados

OU

SELECT usuario.nome,usuario.creditos,doacao.liv_doados,emprestismos.liv_emprestados
FROM usuario
RIGHT OUTER JOIN doacao ON usuario.liv_doados = doacao.liv_doados
RIGHT OUTER JOIN emprestismos ON usuario.liv_emprestados = emprestismos.liv_emprestados


Blz enta quase tudo certo porem ele nao salva no banco de dados ainda amigo oque eu estou fazendo de errado
Responder