ultimo query parameter obtener mysqli_insert_id mysql_insert_id last_insert_id last insertado given expects exactly php mysql mysqli lastinsertid

php - query - mysqli última inserción id



obtener ultimo id insertado mysqli php (3)

después de obtener la última fila de la tabla2, me gustaría insertarla en la tabla1. Eso es todo lo que necesito

Seguir:

  1. insertar en la tabla 1 con consulta de inserción regular simple
  2. obtener la última identificación de inserción
  3. insertar en la tabla 2 con consulta de inserción regular simple

Tan sencillo como eso

Me gustaría asociar la imagen con firstname, lastname ... ¿cómo puedo recuperar el último rowand y usarlo para insertarlo en la otra tabla? Intenté $image = $mysqli->insert_id; luego vinculante, pero no funciona. ¿Alguien me puede ayudar?

$image = $mysqli->insert_id;//this should come from table2 $stmt = $mysqli->prepare(" insert into table1 (username, firstname, lastname, image) select ?,?,?,image from table2 t2 where username = ? and t2.id = ? "); $stmt->bind_param(''sssss'', $username, $fname, $lname, $username, $image); $stmt->execute();


En primer lugar, debe crear el campo auto_increment en su ID

Entonces puede usar $last_id = mysqli_insert_id($conn);


mysqli::$insert_id - mysqli_insert_id - Devuelve el ID generado automáticamente utilizado en la última consulta, Ejemplo:

$mysqli = new mysqli("localhost", "my_user", "my_password", "world"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s/n", mysqli_connect_error()); exit(); } $mysqli->query("CREATE TABLE myCity LIKE City"); $query = "INSERT INTO myCity VALUES (NULL, ''Stuttgart'', ''DEU'', ''Stuttgart'', 617000)"; $mysqli->query($query); printf ("New Record has id %d./n", $mysqli->insert_id); /* drop table */ $mysqli->query("DROP TABLE myCity"); /* close connection */ $mysqli->close();

salida

Nuevo registro tiene id 1.

Referencia