ユーザーがオンラインで商品を購入できるオンラインショップのウェブサイトを構築しています。ユーザーが[注文の確認]をクリックすると、次のクエリが実行されます。
$tsql = "DECLARE @NewID INT
INSERT INTO orders (orderDate, customerID, price_total) VALUES (GETDATE(),'$custID','$totalPrice')
SELECT @NewID = SCOPE_IDENTITY()
INSERT INTO order_items (orderID, price) VALUES ('@NewID', '$totalPrice')";
$stmt = sqlsrv_query($conn,$tsql);
「orders」テーブルのorderID列は主キーであり、自動インクリメントされます。「orders」テーブルに挿入されたばかりのorderIDを取得し、他の関連情報とともに「order_items」テーブルに挿入できるようにしたいと思います。
レコードは「orders」テーブルに追加されますが、「order_items」テーブルには何も追加されません。クエリが正しいかどうかわかりません。私はscope_identityを説明するいくつかのチュートリアルに従いましたが、sqlとphpに非常に慣れていないため、どこかで間違いを犯した可能性があります。