Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
A função lastInsertId() não está retornando o ultimo id corretamente
$result->execute();
if(!is_null($Log)){
SqlLog($Query, $Params, $Log, $Target);
}
if($comando == "select" or $comando == "show"){
return $result->fetchAll();
}elseif($comando == "insert"){
return $db->lastInsertId();
}qual banco?
qual o retorno? vazio? numero errado?
esta trabalhando com transações?
MySQL, retorna um número errado e não sei o que é transações...
Se não me engano só funciona se o campo for do tipo inteiro e com incremento. : http://php.net/manual/pt_BR/pdo.lastinsertid.php
Mas ele é
Não tenho certeza mas talvez seja isso:
>
O erro deve ser em sua aplicação, mysql_insert_id() pega o id de cada insert na sessão ativa, assim se tiver mais de um insert no mesmo bloco, você tem que saber de qual vai pegar, se for pegar de todas tem que declarar cada uma, em uma $var diferente para a manipulação.
Ps.: Não há possibilidades de pegar um id diferente se outra sessão.
Leia o manual e informe-se melhor.
Esse tipo de erro eu já sabia mas não é isso. Nota: Estou usando o PDO.
lembre que vc não pode fechar a conexão antes de usar lastInsertId(), e poste o seu codigo tbm