Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Madrugada pessoal estou com uma dúvida para fazer o segunte, salvar um usuario e um endereço mas esse endereço tem de estar ligado a um usuario_id, como faço a inserção com php? No banco de dados eu vou la e faço um:
insert into usuario values(null, "Matheus","Tananan@gmail.com","123123");
insert into endereco values(null,"Rua dos bobos", "pais das maravilhas",1);
Mas quando faço isso eu sei que tenho que colocar 1 no final da ultima query por que é com esse usuario que o endereço está ligado, mas no sistema ele não vai saber como faço isso?Não ficou não thiago esssa é exatamente a solução que eu tinha em mente, fiz o post para ver se havia uma solução um pouco mais simples, mas pelo jeito vai ser assim mesmo =] e mais para min saber qual usuário eu vou ter que pegar o ID eu vou ter que pegar qual usuário está na sessão seu email e então fazer a pesquisa e depois mandar o id para a classe dao de endereço vai ter que ser assim mesmo até que não aprendo persistencia. Mt obrigado.
Tem soluções mais simples sim, como registrar os dois com AUTO_INCREMENT, mas a mais segura que não dê erro, é essa mesmo !
De nada, disponha !
Pois é velho eu também pensei nisso mas ai da um medinho neh hahahaha vlw.
O mais correto seria você usar o last_insert_id
INSERT INTO tabela_a (nome) VALUES (‘aaa‘);
SELECT LAST_INSERT_ID() INTO @ID;
INSERT INTO tabela_b (id_a, nome) VALUES (@id,‘xxx‘);
Não testei essas queries, mas com o last_insert_id, os valores ficam ligados na memória e você não vai correr o risco de fazer confusão no relacionamento.
Abraço!
Poisé vinicius eu também tentei fazer com essa função do sql mas olha o que aconteceu, eu abri uma janela do navegador e fiz um usuário e mandei para o banco la se formou uma LAST_INSERT_ID até ai tudo legal, então abri outra janela do navegador e fiz outro usuário ai se formou outra LAST_INSERT_ID ai voltei para o 1º usuário e tentei fazer o endereço advinha qual id ele pegou? do segundo usuário.
Imagina só se tem um usuário que digita um pouco mais devagar e outro que digita bem rapido e outro que digita mais ou menos rapido? hahaha
Sim com certeza, este caso é voltado caso você estiver fazendo o cadastro das duas tabelas na mesma requisição, imaginei que era isso. Caso contrário o melhor é usar sessões mesmo.
Abraço!
Me lembro enquanto estava aprendendo java fazia a persistencia era mt facil, só colocava uma propriedade endereço na entidade usuario fazia ela adcionava na entidade fazia relacionamento e mandava pro banco, o que é usado para fazer a persitencia com php vocẽ sabe me dizer?
O Doctrine acredito que seja o mais conhecido, ele foi inspirado no Hibernate do Java.
Além disso, maioria dos frameworks tem sua própria camada de persistência também.
Boa madrugada @matthee, então, para você fazer isso, crie um campo na tabela 'usuario' e deixe ele com INT(11) e ative o auto_increment (A_I) para ele, depois faça uma busca (SELECT * FROM usuario .....) para saber o ID que foi atribuído, e depois adicione o endereço, e nele crie outro campo, o qual você irá colocar o valor como o resultado da busca.
Sei que ficou meio confuso, perdão.