Obtenga la última identificación de la consulta de inserción

Necesito obtener el story_id de la última inserción. he intentado usar mysql_insert_id() pero no parece funcionar con mi declaración. Aquí está el código:

$stmt = $this->db->prepare("INSERT INTO active_stories (story_id, current_chapter, creator, cover_title, cover_img_name, create_date, last_update_date, story_tags, locked) VALUES (NULL, ?, ?, ?, ?, ?, ?, ?, ?)");
        $stmt->bind_param("issssssi",$zero, $creatorName,$storyTitle, $fileName, $createDate, $createDate, $themeTags, $zero);
        $stmt->execute();
        printf("Last inserted record has id %d\n", mysql_insert_id());
        $stmt->close();

preguntado el 12 de junio de 12 a las 16:06

gracias, traté de buscar esto pero no sabía que se llamaba PDO -

1 Respuestas

Si está utilizando DOP, aquí está cómo conseguir eso:

PDO::lastInsertId()

Si usa mysqli, Pruebe éste:

mysqli::$insert_id

Respondido el 12 de junio de 12 a las 17:06

Cuando lo hago $storyID = $db->lastInsertId('story_id'); Obtuve el siguiente error: Call to a member function lastInsertId() on a non-object - mkral

utilizado $this->db->lastInsertId('story_id'); - Ariefbayu

hmm, supongo que estoy usando mysqli no PDO. - mkral

si ese es el caso, entonces querrás ver esto: php.net/manual/en/mysqli.insert-id.php - Ariefbayu

Lo descubrí, es $stmt->insert_id; para mysqli. me indicaste la dirección correcta, ¡así que gracias! - mkral

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.