Присваивать lastinsertid переменной

Я в основном новый программист, с некоторым опытом работы с Oracle из прошлых лет. У меня есть форма, которая собирает информацию о домохозяйстве и членах (которая также имеет раскрывающийся список с подключением к базе данных, которое подключается к базе данных для получения списка филиалов).

На POST он сохраняет информацию в таблицы домохозяйств и членов в базе данных. Домохозяйство является родительской таблицей, поэтому запись должна быть создана первой. Затем мне нужно извлечь файл house.id (поле автоинкремента MySql), чтобы сохранить его в таблице членов, чтобы связать их.

При выполнении вставки к домашнему столу все работает нормально. Я напечатал поле автоинкремента, чтобы проверить.

    $dbh->beginTransaction();
     $stmt->execute();
     print("lastinsertid is really = \n");
  //   $lastid->$dbh->lastInsertId();
     print $dbh->lastInsertId();

Но мне нужно использовать его в следующем утверждении, поэтому нужно сохранить его. Когда я делаю это (просто изменяю то, что закомментировано), я получаю ошибки.

     $dbh->beginTransaction();
     $stmt->execute();
     print("lastinsertid is really = \n");
     $lastid->$dbh->lastInsertId();
  //   print $dbh->lastInsertId();

Ошибки:

Примечание PHP: Неопределенная переменная: lastid в форме C:\Users\Desktop\OECC\ с lastinsertid works.php в строке 165
Примечание PHP: Попытка получить свойство необъекта в форме C:\Users\Desktop\OECC\ с помощью lastinsertid works.php в строке 165 Неустранимая ошибка PHP: вызов функции-члена lastInsertId() для null в C: \ Users \ Рабочий стол \OECC\form с lastinsertid works.php в строке 165

1 ответ

Решение

$lastid = $dbh->lastInsertId()

Вы используете -> вместо =

Другие вопросы по тегам