2011-01-05 16 views
0

mysql_db_query()と同様のmssql関数とは何ですか?mysql_db_query for mssql for PHP

mysql_insert_id()について

Use <MyDatabase> 
Exec ('Select <ColumnList> From <SomeTable>') 
+1

どの言語ですか? PHP? – fredley

+0

ops、申し訳ありませんが言語について知らせてくれません、それはPHPです。 –

答えて

1

PHP Mssql documentationをご覧ください。探している機能はmssql_query()と次のとおりです:

<?php 
function mssql_insert_id() { 
    $id = 0; 
    $res = mssql_query("SELECT @@identity AS id"); 
    if ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { 
     $id = $row["id"]; 
    } 
    return $id; 
} 
?> 
+0

mysqlの場合はmysql_queryとmysql_db_queryがありますが、mssqlの場合はmssql_queryしかありません。 mssql_queryはmysql_queryと同じですが、mysql_db_queryでは使用できません。 –

+0

@Hafizul 'mysql_db_query()'は推奨されていません。mysql_select_db()に 'mysql_query()'を続けるだけです。 'mssql_select_db()'と 'mssql_query()'で簡単にこの動作をエミュレートできます。 – fredley

0

私はあなたは、T-SQLでこれに来る最も近いが、次のだと思います同じスコープ内で接続することができます。両方をまとめて、行作成直後にIDを取得するようにしてください。

INSERT INTO myTable (field1,field2) VALUES(val1,val2); SELECT SCOPE_IDENTITY() AS myId; 

注意、あなたはまた、@@ IDENTITYを使用することができますが、新しい行を挿入ので、もしそれが、スコープに関係なく、作成された最後のIDを返し、トリガー/ストアドプロシージャは、解雇とに何かを挿入します別のテーブル@@ IDENTITYはそのIDを返します。

0

MSSQLでは、あなたが与えられたことにより、作成された最後のIDを取得するためにSCOPE_IDENTITY()機能を使用することができます。