0

スクリプトに投稿するフォームがあります。と呼ばれるフォームに値がある場合がありますstat。これが私がそれを処理する方法です:

$data['stat'] = isset($_POST['stat']) ? true : false;
echo "STAT VALUE: " . var_dump($data['stat']);

false出力(現在、応答をテストしています:

bool(false) STAT VALUE:

この値を評価するための関連する SQL:

@stat               bit
-- Inserted some data
if @stat = 1
    DECLARE @NewConsultId int
    SELECT @NewConsultId = SCOPE_IDENTITY()
    EXEC insertFacilityDecision @NewConsultId, 'EMERGENCY REQUEST', NULL, 17

ストアド プロシージャに値が渡されているにもかかわらず、insertFacilityDecisionストアド プロシージャが常に呼び出されています。false

少し評価が間違っていますか?

4

1 に答える 1

1

条件付きbegin ... endで実行されるはずのステートメントに囲む必要がありますif

if @stat = 1
begin
    DECLARE @NewConsultId int
    SELECT @NewConsultId = SCOPE_IDENTITY()
    EXEC insertFacilityDecision @NewConsultId, 'EMERGENCY REQUEST', NULL, 17
end

begin end単一のコマンドでのみ省略できるため、あなたの場合は次のようになりました。

if @stat = 1
    DECLARE @NewConsultId int -- this statement is under condition

-- two below are not
SELECT @NewConsultId = SCOPE_IDENTITY()
EXEC insertFacilityDecision @NewConsultId, 'EMERGENCY REQUEST', NULL, 17
于 2013-08-23T19:17:51.693 に答える