SQLSRVを使用して最後に挿入されたIDを生成しようとしています。ただし、プリペアドステートメントを使用する必要があります。 私はそれを行う方法を示す答えをここで見ました(以下のコードの後のリンクを参照してください)が、ステートメントはアンチSQLインジェクションの目的のために準備されていません。
//Prep the variables for insert
$p1 = $_POST['description'];
$p2 = intval($_POST['visible']);
$p3 = strval($_POST['whoToShow']);
//Build an array with those variables
$params = array(&$p1, &$p2, &$p3);
//Build the SQL
$sql = "INSERT INTO notifications (description, visible, whoToShow) VALUES (?, ?, ?)";
//Execute the sql using a prepared statement, passing the variables in an array
$stmt = sqlsrv_prepare($conn, $sql, $params) or die(FormatErrors(sqlsrv_errors()));
プリペアドステートメントを使用して最後に挿入されたIDを取得する方法の詳細については、 StackOverflowで「SELECTSCOPE_IDENTITY()AS id」をクエリしたときに、PHP用のMicrosoftのsqlsrvドライバーが結果を返さないことを確認してください。
よろしくお願いします。