Если возникает ошибка при выполнении SELECT запроса, использующего lastInsertId() для получения записи по ID после вставки, проблемой может быть то, что ID еще не доступен в базе данных или в контексте текущей сессии.
При использовании функции lastInsertId() после INSERT запроса, она возвращает значение последнего сгенерированного автоинкрементного ID. Однако, это значение становится доступным только после выполнения INSERT запроса и зависит от типа базы данных и настроек транзакций.
Если ваш код не выполняется в рамках транзакции, то возможно, что вы пытаетесь получить lastInsertId() раньше, чем INSERT запрос выполнен и ID сгенерирован. В этом случае вы можете добавить проверку, чтобы убедиться, что INSERT запрос успешно выполнен:
```php
$stmt = $pdo->prepare("INSERT INTO table_name (column1, column2) VALUES (:value1, :value2)");
$stmt->execute(array(':value1' => $value1, ':value2' => $value2));
if ($stmt->rowCount() > 0) {
$lastId = $pdo->lastInsertId();
$stmt = $pdo->prepare("SELECT * FROM table_name WHERE id = :lastId");
$stmt->execute(array(':lastId' => $lastId));
$result = $stmt->fetch();
// Ваши дальнейшие действия с результатом запроса
} else {
// Обработка случая, когда INSERT запрос не выполнен
}
```
Если ваш код выполняется в рамках транзакции, то возможно, что вам необходимо подтвердить транзакцию, чтобы сделать изменения постоянными перед выполнением SELECT запроса:
```php
$pdo->beginTransaction();
$stmt = $pdo->prepare("INSERT INTO table_name (column1, column2) VALUES (:value1, :value2)");
$stmt->execute(array(':value1' => $value1, ':value2' => $value2));
$pdo->commit();
$lastId = $pdo->lastInsertId();
$stmt = $pdo->prepare("SELECT * FROM table_name WHERE id = :lastId");
$stmt->execute(array(':lastId' => $lastId));
$result = $stmt->fetch();
// Ваши дальнейшие действия с результатом запроса
```
Убедитесь, что ваш код правильно обрабатывает возможные ошибки и исключения при выполнении запросов. В случае продолжения проблем, рекомендуется проверить соединение с базой данных и убедиться, что таблица и столбцы существуют и настроены правильно.