检查value是否为null,如果是,则不打印,否则打印值。救命?

时间:2011-08-11 10:42:38

标签: php mysql null

是的,我还是PHP / MySQL的新手,即使在我的脑海中,我听到它应该很简单,但我只是无法弄清楚如何写它,这就是我想要的发生:

MySQL语句获取行= id的所有单元格的值, PHP然后在适当的位置打印它们(我可以这样做), 如果所述行中的值为null,我不希望它打印与该值相关的ANYTHING, 否则,继续正常。

即:

-- Other code --

if (value where id = id == null) {

}
else {
Twitter: @Twitter
}

3 个答案:

答案 0 :(得分:3)

你的确切问题是什么?一个简单的if语句就可以了。

$result = mysql_query("SELECT * FROM somewhere");

while($row = mysql_fetch_assoc($result))
{
 if($row['someValue'] != '')
 {
  echo $row['someValue'];
 }
}

答案 1 :(得分:2)

使用SQL可以限制程序必须获取的行数。要忽略任何列值为null的所有行,请为每个要为非空的列定义IS NOT NULL条件。例如

SELECT id, label value 
FROM my_very_special_Table
WHERE id = ?  
  AND label IS NOT NULL
  AND value IS NOT NULL

现在总是有可能你有空字符串或只有空格的字符串。 MySQL似乎将空字符串与空值区分开来,与至少Oracle不同,即'' <> NULL为真。

在这种情况下,您必须修改条件才能使VALUE <> ''LENGTH(VALUE) > 0正常工作。您可以添加修剪以清除空格,但在MySQL中trim doesn't remove any other white-space characters。你也可以匹配一个正则表达式,但这可能有点慢。

如果您碰巧同时具有空值和空字符串,则必须涵盖这两种情况。

答案 2 :(得分:0)

这取决于你如何从MySQL获取数据到PHP,但是如果你使用像mysql_fetch_array()这样的函数,你在PHP中的值也将是NULL:

if ([value where id = id] !== null) {
    Twitter: @Twitter;
相关问题