确定数据库sql php中存在的值
我创建了一个动态表,可以从数据库中提取信息。但是,有一个字段中可能没有任何内容,或者其中可能有一组信息(来自多个复选框)。我试图压缩初始表视图(详细信息将显示完整的db字段信息)。我现在得到的是:确定数据库sql php中存在的值,php,sql,Php,Sql,我创建了一个动态表,可以从数据库中提取信息。但是,有一个字段中可能没有任何内容,或者其中可能有一组信息(来自多个复选框)。我试图压缩初始表视图(详细信息将显示完整的db字段信息)。我现在得到的是: 如果$row['extras']=''{ 打印“”; }其他{ 打印“Y”; 通过此代码,它在所有字段中显示“Y”,而不是需要显示的内容。我是在正确的轨道上还是完全偏离了基准?如果认为有输入错误,代码将分配(使用一个等号)而不是检查相等(两个等号)您应该检查它是否为空: if ($row['extra
如果$row['extras']=''{
打印“”;
}其他{
打印“Y”;
通过此代码,它在所有字段中显示“Y”,而不是需要显示的内容。我是在正确的轨道上还是完全偏离了基准?如果认为有输入错误,代码将分配(使用一个等号)而不是检查相等(两个等号)您应该检查它是否为空:
if ($row['extras'] == null)
{
print '';
}
else
{
print 'Y'
};
您可以像这样使用sql查询对其进行测试
SELECT * FROM table WHERE field IS NOT NULL;
请尝试以下代码:
if (trim($row['extras']) != '')
{
echo 'Y';
}
或者,您可以发出类似以下内容的SQL查询:
SELECT * FROM yourTable WHERE extras NOT LIKE '';
虽然您显示的代码片段在语法上是无效的,这表明它不是您的实际代码(因此,回答此问题的人可能会浪费他们的时间来寻找新的东西),但我很确定它也显示了您的实际问题:
if ($foo = '') {
echo "empty";
} else {
echo "contains " . strlen($foo) . " characters";
}
此代码打印包含0个字符。正是这种错误导致我编写了与左侧常量操作数的比较:
if ('' = $foo) {
echo "empty";
} else {
echo "contains " . strlen($foo) . " characters";
}
这会导致一个错误,这比使用意外值更可取。谢谢…更改了,它成功了。很简单…我能说什么,我是个笨蛋!好的,谢谢大家的帮助。不过,添加“==”对于我所需要的,效果很好。其他脚本似乎有点复杂。不过,我将尝试==null,看看它是否有效,无论哪种方式,它都有效,为什么要用其他答案将其复杂化(我相信它们会有效,只是有点复杂…KISS:保持超级简单)