Ir para conteúdo
Fórum Script Brasil
  • 0

Problema Com Insert No Mysql


itibere

Pergunta

Crie o seguinte codigo:

//CRIA UM NOVO PROCESSO
$sqlProcesso="insert into $tabelaProcesso values('','$frIdClie','A')";
$resProcesso=mysql_query($sqlProcesso,$conn)or die("erro na inclução de un novo processo.<br>".mysql_error());
$recIdProcesso=mysql_insert_id($resProcesso);
echo "id do processo:".$recIdProcesso;   //AQUI NÃO ESTA RETONANDO O VALOR DA ID GERADA
//CRIA UM NOVO REGISTRO PARA O PROCESSO
$sqlRegistro="insert into $tabelaRegistros 
values('','$recIdProcesso','$frDtaInclusaoClie','$frRespInclusaoClie','$frRespCobrancaClie','$frDocFiscalClie','1')";
$resRegistro=mysql_query($sqlRegistro,$conn) or die("erro na inclução de un novo Registro.<br>".mysql_error());
$idRegistroGerado=mysql_insert_id($resRegistro);  //AQUI NÃO ESTA RETONANDO O VALOR DA ID GERADA

Não conseguir ver o erro.

PS. Os dados são gravados normalmento, so que na tabela de $tabelaRegistros o campo onde era para ter o valor da id($recIdProcesso), fica vazio.

Editado por itibere
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Complementando...

O argumento de mysql_insert_id() é o identificador da conexão, não a consulta. ;)

Por isso, veja a nota do Manual:

Nota: Devido a mysql_insert_id() agir sobre a última consulta realizada, tenha certesa de chamar mysql_insert_id() imediatamente após a consulta que gerou o valor.

Fonte: http://www.php.net/mysql_insert_id

OBS: aquele "certesa" com "s" foi fod... tadinho do tradutor do PHP... hehe

Abraços,

Beraldo

Link para o comentário
Compartilhar em outros sites

  • 0
Acontece que você está usando errado:

$recIdProcesso=mysql_insert_id($resProcesso);

A parte com sublinhado não existe... o correto é:

$recIdProcesso=mysql_insert_id();

ESerra,

De acordo com o manual:

mysql_insert_id
(PHP 3, PHP 4, PHP 5)

mysql_insert_id --  Retorna o ID gerado da operação INSERT anterior 
Descrição
int mysql_insert_id ( [resource link_identifier] )


mysql_insert_id() returna o ID gerado para um campo AUTO_INCREMENT pela ultima query INSERT usando o link_identifier dado. Se link_identifier não é especificado, a ultima conexão aberta é usada. 

mysql_insert_id() retorna 0 se a query anterior não gerou um valor AUTO_INCREMENT. Se você precisa salvar o valor para depois, tenha certeza de chamar mysql_insert_id() imediatamente depois da query que gerou o valor. 

Nota: O valor da função SQL do MySQL LAST_INSERT_ID() sempre contém o mais recente valor AUTO_INCREMENT gerado, e não é reiniciado entre as query.

è opconal,

de qualquer forma vou fazer o que você falou.

Editado por itibere
Link para o comentário
Compartilhar em outros sites

  • 0
$link_identifier não é o resource retornado por mysql_query(), mas o identificador de conexão retornado por mysql_connect(). ;)

Realemte eu fiz essa confusão,

Modifiquie da forma que o ESerra falou e funcionou perfeito.

Obrigado.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...