如何仅显示非空行

时间:2011-02-23 18:39:35

标签: php mysql fetch

我有一个小的PHP mysql查询查看我的数据库中的表。它正在拉动所有行,然后回显记录。

问题是我在表格中有几个空行,所以我得到的是一个奇怪的记录。

这就是我得到的:

<?php
    $con = mysql_connect("localhost","username","password");
    if (!$con){
        die('Could not connect: ' . mysql_error());
    }
    mysql_select_db("username", $con);
    $result = mysql_query("SELECT * FROM wallnames2011 WHERE firstname IS NOT NULL");
    while($row = mysql_fetch_array($result)){
        echo $row['firstname'] . " - " . $row['city'] . ", " .$row['state'] . " &nbsp;|&nbsp; ";
    }
?>

我想保留空行。

6 个答案:

答案 0 :(得分:5)

为什么你不放

  

尝试SELECT column_name FROM table_name WHERE column_name!=&#39;&#39;

答案 1 :(得分:4)

尝试SELECT column_name   FROM table_name  TRERE(column_name)IS NOT NULL

答案 2 :(得分:1)

Alex的空检查很好,如果你想显示不完整的记录,你也可以内联检查所有这三个:

echo (! empty($row['firstname']) ? $row['firstname'] : "")
     .(! empty($row['city']) ? " - ".$row['city'] : "")
     .(! empty($row['state']) ? ", ".$row['state'] : "")
     . " &nbsp;|&nbsp; ";

答案 3 :(得分:0)

我认为在“where”子句中提到了所有字段名称,例如first_name IS NOT NULL AND last_name IS NOT NULL

答案 4 :(得分:0)

您可以在回显该行之前添加if(!empty($row['firstname']))

答案 5 :(得分:0)

仅打印rowname以及结果为IS NOT NULL的行的结果,请尝试以下操作:

if ($result = $mysqli->query($query)) {
    /* fetch associative array */
    $i=1;
    while($a = $result->fetch_assoc()) {
        $i++;
        foreach ($a as $key => $value) {
            if($value != NULL) {
                echo $key." = ".$value."<br/>";
            }
        }
        echo "-- <br />";
    }
    /* free result set */
    $result->free();
}
/* close connection */
$mysqli->close();