Последняя транзакция вставки идентификатора транзакции в таблицу table1 для использования в таблице table2

У меня есть форма, где я публикую данные в двух разных таблицах БД. Вы можете увидеть мою транзакцию ниже.

$db->beginTransaction();
$sql = "INSERT INTO clients (name, contact_person, phone, email, url)
VALUES (:name, :contact_person, :phone, :email, :url)";

$stm = $db->prepare ( $sql );

$stm->bindParam ( ":name", $name );
$stm->bindParam ( ":contact_person", $contact_person );
$stm->bindParam ( ":phone", $phone );
$stm->bindParam ( ":email", $email );
$stm->bindParam ( ":url", $url );

$client = $stm->execute ();
//$last_id = $db->lastInsertId;$sql = "INSERT INTO task (title, description, user_id, status_id, client_id)
VALUES (:title, :description, :user_id, :status_id ,:client_id)";

$stm = $db->prepare ( $sql );

$stm->bindParam ( ":title", $title );
$stm->bindParam ( ":description", $description );
$stm->bindParam ( ":user_id", $user_id );
$stm->bindParam ( ":status_id", $status_id );
//$stm->bindParam ( ":client_id", $last_id );

$task = $stm->execute ();

$db->commit();

Тем не менее, в моей таблице «задача» у меня есть другой столбец «client_id», где я хочу связать значение. И значение здесь, должно быть таким же, как значение идентификатора, который был автоматически увеличен в моей таблице клиентов.

Поэтому мне нужно как-то получить последний идентификатор вставки из таблицы один и использовать это значение в таблице два. Я прокомментировал свою неудачную попытку, которая не сработала, и возвратил NULL

Кто-нибудь может дать мне несколько советов о том, как справиться с этим?

0

Решение

Используйте функцию вместо:

$last_id = $db->lastInsertId();

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]