Задать вопрос
romandkoz
@romandkoz

Как получить id добавленной записи PHP PDO PGSQL?

Добрый день, работал с MySQL через PHP PDO, получал id добавленной записи через $db->lastInsertId();
Сейчас необходимость работать с Postgres, и эта команда всегда возвращает 0.
Почитал что нужно передать в нее имя, но тоже получаю 0.

$db->prepare("INSERT INTO user (name) VALUES (?)")->execute([$name]);
$id = $db->lastInsertId("user_id_seq");
  • Вопрос задан
  • 172 просмотра
Подписаться 1 Простой 10 комментариев
Пригласить эксперта
Ответы на вопрос 1
colonel
@colonel
Разработчик PHP, Laravel
1. Добавляем RETURNING

$sql = "INSERT INTO {$table} ($fields) VALUES($signs) RETURNING {$idField}";


2. После execute вызываем fetch

$res = $data->fetch(PDO::FETCH_ASSOC);
        
        if ( isset($res[$idField]) ) {
            return $res[$idField];
        }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы