Jump to content
Fórum Script Brasil
  • 0

Problema Com Insert No Mysql


itibere
 Share

Question

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.

Edited by itibere
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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.

Edited by itibere
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...