我有一个表单发布到脚本。有时,名为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
值正被传递给存储过程。
我评估错误了吗?
答案 0 :(得分: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