Здравствуйте!
Есть такой запрос вставки и получение последнего ID:
$stmt = $db->prepare("INSERT INTO users (name, email) VALUES ('Иван', 'test@test.com')");
$stmt->execute();
$lastId = $db->lastInsertId();
Сразу за ним, вызывается SELECT по последнему ID:
$stmt = $db->prepare('SELECT * FROM users WHERE id = ? LIMIT 1');
$stmt->execute([$lastId]);
Но получаю ошибку:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = 173 LIMIT 1' at line 1
Несколько часов не могу понять в чем проблема. Уже подумал, что может какая-то проблема в окружении, но даже не знаю. -куда смотреть. Гугл не помог. Использую MariaDb 106
UPD.
В итоге, почему-то ошибка была из-за одинарных кавычек в значениях вставки. Заменил одинарные кавычки на обратные и все сразу заработало. Причем пробовал в песочницах - проблемы не было. Скорее всего у меня что-то с локальным окружением все-таки.
Всем большое спасибо за участие!