Php 数据字段null值返回0
我在数据库中存储一个单选按钮值,它可以是true、false或NULL。 如果为null或false,则答案为0,即为false。 是否有检查空值的解决方案?我试过使用isset和Empty,但都没有帮助。 数据库为MSSQL,数据类型为bit,用于存储单选按钮的值Php 数据字段null值返回0,php,sql-server,Php,Sql Server,我在数据库中存储一个单选按钮值,它可以是true、false或NULL。 如果为null或false,则答案为0,即为false。 是否有检查空值的解决方案?我试过使用isset和Empty,但都没有帮助。 数据库为MSSQL,数据类型为bit,用于存储单选按钮的值 <input name="radioVal" type="radio" id="radioVal" value="false" <?PHP if(row['radioVal'] == false )
<input name="radioVal" type="radio" id="radioVal" value="false"
<?PHP
if(row['radioVal'] == false )
echo "checked='checked' ";
}
?> />
<input name="radioVal" type="radio" id="radioVal" value="true"
<?PHP
if(row['radioVal'] == true )
echo "checked='checked' ";
}
?> />
试试看
要检查空值,您可以使用
位列可能表示为1
或0
。使用三重等于检查值和类型。检查行['radioVal']==1是否为true,行['radioVal']==0是否为false,行['radioVal']==null是否为null。也许您应该在SQL数据库中使用另一种数据类型
我建议使用Enum或类似的方法:
ENUM('false', 'true', 'NULL')
在PHP文件中,您可以
<?PHP
if(row['radioVal'] == false )
echo "checked='checked' ";
}
?>
尝试使用=
操作符,看看是否有效。否则,请尝试一个var\u dump($row)
并准确查看您正在传递的内容。我已经尝试了var\u dump,它在null上返回int(0):(…mssql server有问题吗?在数据库中,它至少显示为null。我正在努力在SQL server中找到枚举,除了绕过它的方法(CLR)。有参考吗?假设mssql中没有枚举类型(正如您所说,有检查/外键等方法)考虑类似于enum或使用short insted并生成三个值。@Echo我已尝试使用===和0===行['radioVal']返回1 on false返回1 on NULL返回空on true NULL===行['radioVal']false时返回1,true时返回NULL,其中as is\u NULL在所有三种情况下都返回空
ENUM('false', 'true', 'NULL')
<?PHP
if(row['radioVal'] == false )
echo "checked='checked' ";
}
?>