代码之家  ›  专栏  ›  技术社区  ›  Aaron B

确定数据库sql php中存在的值[关闭]

  •  0
  • Aaron B  · 技术社区  · 16 年前

    我已经创建了一个动态表,它将从数据库中提取信息。但是,有一个字段中可能没有任何内容,或者其中可能包含一堆信息(来自多个复选框)。我正在尝试压缩初始表视图(详细信息将显示完整的DB字段信息)。我现在拥有的是:

    if $row['extras'] = ''{
    print '';
    } else {
    print 'Y';

    通过此代码,它在所有字段中显示“Y”,而不是所需的内容。我是在正确的轨道上还是完全偏离基地?

    5 回复  |  直到 16 年前
        1
  •  1
  •   jspcal    16 年前

    如果有错别字,代码将分配(使用一个等号)而不是检查相等(使用两个等号)。

        2
  •  0
  •   alemjerus    16 年前

    您应该检查它是否为空:

    if ($row['extras'] == null)
    {
        print '';
    }
    else
    {
       print 'Y'
    };
    
        3
  •  0
  •   streetparade    16 年前

    您可以用这样的SQL查询来测试它

    SELECT * FROM table WHERE field IS NOT NULL; 
    
        4
  •  0
  •   Alix Axel    16 年前

    请尝试以下代码:

    if (trim($row['extras']) != '')
    {
        echo 'Y';
    }
    

    或者,您可以发出这样的SQL查询:

    SELECT * FROM yourTable WHERE extras NOT LIKE '';
    
        5
  •  0
  •   just somebody    16 年前

    虽然您所显示的代码片段在语法上是无效的,这表明它不是您的实际代码(因此,回答这些问题的人可能会因为追逐红鱼而损失时间),但我敢肯定,它也显示了您的实际问题:

    if ($foo = '') {
       echo "empty";
    } else {
       echo "contains " . strlen($foo) . " characters";
    }
    

    此代码打印 包含0个字符 . 这种错误导致我写了与左侧常量操作数的比较:

    if ('' = $foo) {
       echo "empty";
    } else {
       echo "contains " . strlen($foo) . " characters";
    }
    

    这会导致一个错误,这比使用意外值更可取。