私は、ユーザーがオンラインでアイテムを購入できるオンラインショップのWebサイトを構築しています。ユーザーがクリックすると、「ご注文の確認」次のクエリが実行されます:「受注」テーブルでScope_Identityを使用して2つのテーブルに挿入するPHPとSQL Server 2008
$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を取得し、それを他の関連情報と共に "order_items"テーブルに挿入したいと考えています。
レコードは「orders」テーブルに追加されますが、「order_items」テーブルには何も追加されません。私の質問が正しいかどうかはわかりません。私はscope_identityについて説明したいくつかのチュートリアルに従っていたが、私はSQLとPHPにはとても新しいので、どこかで間違いを犯したかもしれない。書き込み@NewIDなくアポストロフィで '@NewID' について...
クエリを印刷して手動で実行しようとしましたか?そうすることで、何が失敗しているのかを突き止めるのに役立ちます。 –