Есть запрос в базу
$sql = "INSERT INTO type_filters (name)
SELECT * FROM (SELECT :name) AS tmp
WHERE NOT EXISTS (
SELECT name FROM type_filters WHERE name = :name
) LIMIT 1";
$db = new \Opti\DataBase();
// Connect
$db = $db->connect();
$stmt = $db->prepare($sql);
$stmt->bindParam(':name', $name);
$result = $stmt->execute();
echo $result; // всегда 1
Как мне всегда получать ид не зависимо от того есть ли запись или она новая.
В переменную $result прилетает результат запроса, либо он выполнен - 1, если что-то пошло не так то - 0
Получить id можно так
$id = $db->lastInsertId();
здесь похожий вопрос, можете почитать https://stackoverflow.com/questions/10680943/pdo-get-the-last-id-inserted
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники