Я в основном новый программист, с некоторым опытом работы с 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 \ Desktop \ OECC \ с lastinsertid works.php в строке 165
$lastid = $dbh->lastInsertId()
Вы используете ->
вместо =
Других решений пока нет …