是的,我还是PHP / MySQL的新手,即使在我的脑海中,我听到它应该很简单,但我只是无法弄清楚如何写它,这就是我想要的发生:
MySQL语句获取行= id的所有单元格的值, PHP然后在适当的位置打印它们(我可以这样做), 如果所述行中的值为null,我不希望它打印与该值相关的ANYTHING, 否则,继续正常。
即:
-- Other code --
if (value where id = id == null) {
}
else {
Twitter: @Twitter
}
答案 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;