none
SCOPE_IDENTITY + php RRS feed

  • Вопрос

  • Не могу возвратить значение последнего вставленного id. Пишу запрос напрямую id показывает. Как обработать запрос в php?

    ......

    $tsql = "INSERT INTO dbo.ADDRESS (ADR_PREDS)
            VALUES ('тут какое-то значение') SELECT @@IDENTITY AS ADDR_ID";

    $stmt =  sqlsrv_query($conn, $tsql );
    $row = sqlsrv_fetch_array($stmt);
    $next_id = $row['ADDR_ID'];
    echo $next_id;

    Возвращает resource id# 7 (а должен вернуть id последней записи). Гуглил, но конкретного ничего не нашёл. Подскажите как правильно вернуть id в php?

    21 декабря 2012 г. 8:02

Ответы

  • Пардон проблему решил. Может кому пригодиться. Вот решение:

    $tsql = "INSERT INTO dbo.ADDRESS (ADR_PREDS)
            VALUES ('тут какое-то значение'); SELECT SCOPE_IDENTITY()";

    $stmt = sqlsrv_query($conn, $data);
    sqlsrv_next_result($stmt);
    sqlsrv_fetch($stmt);
    $result = sqlsrv_get_field($stmt, 0);

    echo $result;

    • Помечено в качестве ответа Fourteenmeister 21 декабря 2012 г. 8:19
    21 декабря 2012 г. 8:18