frnd Postado Agosto 31, 2007 Denunciar Share Postado Agosto 31, 2007 Sei que o mysql_insert_id() pega o id do último mysql_query, correto? E se eu quiser pegar dos dois ultimos? Oque eu faço?[]s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eric Freitas Postado Agosto 31, 2007 Denunciar Share Postado Agosto 31, 2007 $_qt = mysql_insert_id(parametro) ; //isso somente se ele retornar numeromysql_query ("delete... where id = '$_qt'");mysql_query ("delete... where id = '$_qt-1'");ou até mesmomysql_query ("delete... where id = '$_qt-qalquercoisa") Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frnd Postado Agosto 31, 2007 Autor Denunciar Share Postado Agosto 31, 2007 Bom, não entendi muito bem então vou utilizar com oque estou fazendo..Tenho uma tabela midia e evento e outra midiaevento que recebe id de midia e id de eventoEntão está assim:mysql_query("INSERT INTO midia VALUES('',...."); $midia = mysql_insert_id(midia); mysql_query("INSET INTO evento VALUES(",...."); $evento = mysql_insert_id(evento); mysql_query("INSERT INTO midiaevento VALUES($midia, $evento)");está correto? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eric Freitas Postado Agosto 31, 2007 Denunciar Share Postado Agosto 31, 2007 Eu mesmo nunca usei isso até procurei um pouco.. mas to meio sem tempo pra ler..assim se você quer pegar o ultimo id você faz assimselect (MAX)id from 'tabela'...insere depois usa essa query.. não esqueça de deixar ela como variavel pra poder escolher qts abaixo você quer deletarex$_maxid = mysql_query ("select (MAX)id from xxx");mysql_query ("delete * from tabela where id='$_maxid'");mysql_query ("delete * from tabela where id='$_maxid-1'");e desculpa não poder te ajudar com isso no momento =/ mas taí uma resposta p/ pergunta q eu intendi..dúvidas ainda? quer aprender a útilizar o mysql_inser_id()?CLIQUE AQUI Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frnd Postado Agosto 31, 2007 Autor Denunciar Share Postado Agosto 31, 2007 (editado) eu utilizei abaixo mas não funcionou. Ele está passando o $idtab2 como 0mysql_query("INSERT INTO tab VALUES ('',....)"); $idtab1 = mysql_insert_id(); $idtab2 = ("SELECT max(id) from tab2"); mysql_query("INSERT INTO tab1_2 VALUES ($idtab1,$idtab2)"); Editado Agosto 31, 2007 por frnd Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Setembro 1, 2007 Denunciar Share Postado Setembro 1, 2007 (editado) Tente assim:mysql_query("INSERT INTO midia VALUES('',...."); $midiaId = mysql_insert_id(); mysql_query("INSET INTO evento VALUES(",...."); $eventoId = mysql_insert_id(); mysql_query("INSERT INTO midiaevento VALUES($midiaId, $eventoId)"); O paramentro do mysql_insert_id(), se refere ao identificador da sua conxeção com o banco de dados e não com a query. Ex: $conn=mysql_conect("servidor","user","senha"); . . . $query=mysql_query("select * from tabela",$conn) or die (mysql_error()); $idRecuperado= mysql_insert_id($conn); Editado Setembro 1, 2007 por itibere Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eric Freitas Postado Setembro 2, 2007 Denunciar Share Postado Setembro 2, 2007 eu utilizei abaixo mas não funcionou. Ele está passando o $idtab2 como 0mysql_query("INSERT INTO tab VALUES ('',....)"); $idtab1 = mysql_insert_id(); $idtab2 = ("SELECT max(id) from tab2"); mysql_query("INSERT INTO tab1_2 VALUES ($idtab1,$idtab2)");SELECT (max)id from tab2 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Setembro 3, 2007 Denunciar Share Postado Setembro 3, 2007 (editado) tente:select max(id) from tab2 group by idAcustume-se a usar a mysql_error(), para depurar seus scripts fica mais facil de visualizar os erros:ex.mysql_query("select","conn") or die (mysql_error()); Editado Setembro 3, 2007 por itibere Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frnd Postado Setembro 6, 2007 Autor Denunciar Share Postado Setembro 6, 2007 estou executando o código abaixo mas na tabela midiaevento não é inserido nada! porque?mysql_query("INSERT INTO evento VALUES ('1',$idinfo, '$desc', '$endereco', '$tel', '$maxpartic', '$hr', now(), '$titulo')"); $idevento = "SELECT MAX(idinformacao) FROM evento order by idinformacao"; mysql_query($idevento); //aqui salva primeiramente na tabela de midia(pai de onde a tabela foto é herdada) mysql_query("INSERT INTO midia VALUES ('', './midia/foto/$foto_name', '$foto_name', '$extensaoarq', '$foto_size', now())"); $idmidia = "select max(idmidia) from midia order by idmidia"; mysql_query($idmidia); //insere na tabela midiaevento (tabela N para N) mysql_query("INSERT INTO midiaevento VALUES($idevento, $idmidia)"); Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
frnd
Sei que o mysql_insert_id() pega o id do último mysql_query, correto? E se eu quiser pegar dos dois ultimos? Oque eu faço?
[]s
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.