Jefferson andre 2 Denunciar post Postado Agosto 1, 2017 Saudações a todos, Gostaria de pegar o id do registro que acabou de ser salvo mas aparece a seguinte mensagem de erro: Fatal error: Uncaught Error: Call to undefined method mysqli::lastInsertId() in C:\xampp\htdocs\xcompbrasil\cadastrar.php:48 Stack trace: #0 {main} thrown in C:\xampp\htdocs\xcompbrasil\cadastrar.php on line 48 O fonte é o seguinte: date_default_timezone_set("America/Sao_Paulo"); setlocale(LC_ALL, 'pt_BR'); $razaosocial = $_POST['razaosocial']; $fantasia = $_POST['fantasia']; $cnpj = $_POST['cnpj']; $inscricao_estadual = $_POST['inscricao_estadual']; $inscricao_municipal = $_POST['inscricao_municipal']; $cpf = $_POST['cpf']; $contatos = $_POST['contatos']; $email = $_POST['email']; $site = $_POST['site']; $endereco = $_POST['endereco']; $numero = $_POST['numero']; $complemento = $_POST['complemento']; $bairro = $_POST['bairro']; $cidade = $_POST['cidade']; $estado = $_POST['estado']; $cep = $_POST['cep']; $telefone1 = $_POST['telefone1']; $telefone2 = $_POST['telefone2']; $telefone3 = $_POST['telefone3']; $celular = $_POST['celular']; $produto = $_POST['produto']; $plano_mensal = $_POST['plano_mensal']; $data_contrato = date("Y/m/d"); $hora_contrato = date('H:i:s'); include("conexao.php"); $sql = "INSERT INTO empresa (razaosocial, fantasia, cnpj, cpf, insc_estadual, insc_municipal, logotipo, contatos, email, site, endereco, numero, cidade, estado, cep, bairro, complemento, telefone1, telefone2, telefone3, celular, produto, data_contrato, hora_contrato, plano_mensal) VALUES ('$razaosocial', '$fantasia', '$cnpj', '$cpf', '$inscricao_estadual', '$inscricao_municipal','','$contatos',lower('$email'),'$site','$endereco','$numero','$cidade','$estado','$cep','$bairro','$complemento','$telefone1','$telefone2','$telefone3','$celular','$produto','$data_contrato','$hora_contrato','$plano_mensal')"; $retval = $arquivo->query($sql); $groupID = $arquivo->lastInsertId(); A linha 48 é a $groupID = $arquivo->lastInsertId(); Se alguém puder me ajudar agradeço Abs Compartilhar este post Link para o post Compartilhar em outros sites
washalbano 54 Denunciar post Postado Agosto 1, 2017 Olá! Tente com->insert_id http://php.net/manual/pt_BR/mysqli.insert-id.php Compartilhar este post Link para o post Compartilhar em outros sites
Web.Developer 9 Denunciar post Postado Agosto 2, 2017 tente mysqli_insert_id(); Compartilhar este post Link para o post Compartilhar em outros sites
Jefferson andre 2 Denunciar post Postado Agosto 2, 2017 14 horas atrás, washalbano disse: Olá! Tente com->insert_id http://php.net/manual/pt_BR/mysqli.insert-id.php 11 horas atrás, emersondesigner disse: tente mysqli_insert_id(); Obrigado pela ajuda, deu certo. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Luiz 41 Denunciar post Postado Agosto 2, 2017 Lembrando que o mysqli_insert_id funciona apenas com tabelas onde o ID é auto-increment. Compartilhar este post Link para o post Compartilhar em outros sites
Jefferson andre 2 Denunciar post Postado Agosto 2, 2017 1 minuto atrás, Guilherme Luiz disse: Lembrando que o mysqli_insert_id funciona apenas com tabelas onde o ID é auto-increment. sim, neste caso deu certo Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Luiz 41 Denunciar post Postado Agosto 2, 2017 Se não é auto-increment, você está definindo qual é o ID! Desta forma, basta você tratar o ID criado da maneira que quiser... Salva numa session para utilizar num outro momento do código... Salva no navegador do usuario via JS... Pode fazer de várias formas, depende do seu fluxo e em que momento você quer reutilizar esse ID. O last_insert_id vai retornar ZERO se a coluna primary da tabela é diferente de auto-increment. Compartilhar este post Link para o post Compartilhar em outros sites