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:
- insertar en la tabla 1 con consulta de inserción regular simple
- obtener la última identificación de inserción
- 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