2014-12-09 2 views
2

У меня есть этот код, который вставляет некоторые данные в мою таблицу, и мне нужно получить последний вставленный идентификатор, который является моим PK.Последнее вставленное значение на SQL Server с PHP

$serverName  = "MyServer"; 
    $connectionInfo = array("Database"=>"MyBD", "UID"=>"MyUser", "PWD"=>"MyPass"); 
    $conn   = sqlsrv_connect($serverName, $connectionInfo); 

    if($conn) 
    { 
     echo "Connection established.<br />"; 
    } 
    else 
    { 
     echo "Connection could not be established.<br />"; 
     die(print_r(sqlsrv_errors(), true)); 
    } 

    $nome  = $_POST["nome"]; 
    $email = $_POST["email"]; 
    $telefone = $_POST["telefone"]; 
    $unidade = $_POST["unidade"]; 

    //declare the SQL statement that will query the database 
    $query = "INSERT INTO [dbo].[Participante] ([nome],[email],[telefone],[unidadeCE],[dataCadastro]) VALUES ('" . $nome . "', '" . $email . "', '" . $telefone . "', '" . $unidade . "', (getdate())); SELECT @@IDENTITY"; 

    //execute the SQL query and return records 
    $result = sqlsrv_query($conn, $query); 

    var_dump($result); 

    //close the connection 
    sqlsrv_close($conn); 

Я уже попробовал ВЫБЕРИТЕ @@IDENTITY но он возвращает только resource(4) of type (SQL Server Statement)

+2

использовать SCOPE_IDENTITY() – HaveNoDisplayName

+0

@Jordy, извините я не нашел этого! Спасибо :) – Terkhos

ответ

1
$query = "INSERT INTO [dbo].[Participante] ([nome],[email],[telefone],[unidadeCE],[dataCadastro]) VALUES ('" . $nome . "', '" . $email . "', '" . $telefone . "', '" . $unidade . "', (getdate())); SELECT SCOPE_IDENTITY()"; 
$resource=sqlsrv_query($conn, $query, $arrParams); 
sqlsrv_next_result($resource); 
sqlsrv_fetch($resource); 
echo sqlsrv_get_field($resource, 0); 

Reference:

+0

Работал как шарм. Спасибо – Terkhos

+0

@Terkhos, если мой ответ сработал для вас, пожалуйста, примите его как решение. – Pupil

+0

Извините, это забыло! – Terkhos

-1

Это работает:

select last_insert_id() as last_id 
+0

это SQL не MySQL – Peter

Смежные вопросы