Mysqli last insert id
Я хотел бы связать изображение с именем, фамилией... как я могу получить последнюю строку и использовать ее для вставки в другую таблицу? Я попробовал $image = $mysqli->insert_id;
, затем привязку, но это не сработало. Может кто-нибудь помочь мне?
$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();
Ответы
Ответ 1
mysqli::$insert_id
- mysqli_insert_id
- Возвращает автоматически сгенерированный идентификатор, использованный в последнем запросе, Пример:
$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();
Выход
Новая запись имеет идентификатор 1.
Ссылка
Ответ 2
Прежде всего вам нужно создать поле auto_increment в вашем ID
Затем вы можете использовать
$last_id = mysqli_insert_id($conn);
Ответ 3
после того, как я получу последнюю строку из таблицы2, я хотел бы вставить ее в таблицу1. Это все, что мне нужно
Продолжить:
- вставить в таблицу 1 с простым регулярным запросом на вставку
- получить последний идентификатор вставки
- вставить в таблицу 2 с простым регулярным запросом на вставку
Так же просто, как