Php 如何仅显示非空的行

Php 如何仅显示非空的行,php,mysql,fetch,Php,Mysql,Fetch,我有一个小的PHP mysql查询,它查看数据库中的一个表。它把所有的行都拉出来,然后呼出记录 问题是我的表中有一些空行,所以我得到的是一个奇怪的记录 这就是我得到的: <?php $con = mysql_connect("localhost","username","password"); if (!$con){ die('Could not connect: ' . mysql_error()); } mysql_select_db("

我有一个小的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; ";
    }
?>

我想保留空行。

我想在where子句中提到所有字段名,如first\u name不为空,last\u name不为空。

尝试选择列\u name 从表\u名称
如果列名称不为空

,则可以输入if!在回显行之前清空$row['firstname'.

Alex的空检查是正确的,如果您想显示不完整的记录,您还可以内联检查这三个行:

echo (! empty($row['firstname']) ? $row['firstname'] : "")
     .(! empty($row['city']) ? " - ".$row['city'] : "")
     .(! empty($row['state']) ? ", ".$row['state'] : "")
     . " &nbsp;|&nbsp; ";
你为什么不放

尝试从列名称所在的表名称中选择列名称=

要从结果不为NULL的行中仅打印rowname和result,请尝试以下操作:

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();

Define not empty,您的查询不应该返回firstname为NULL的行…好的,所以我尝试了这个。。。问题是仍然有一些符号出现。-,而且|我只想让它检查是否有值,然后显示记录,如果没有,则不显示记录并省略符号。。。谢谢我不知道你在问什么。你能提供样品数据吗?当然。。。这是您可以看到滚动条的测试页面。这是记录显示的地方@Matthew use正则表达式。。。类似于…WHERE-trimpolumn_name REGEXP'[a-zA-Z]'之类的东西。关于MySql regex at.的简短教程|显示,因为您在while循环中作为行间分隔的一种方式进行了回显。而且,是名字、城市和州之间的分离,也是你在循环中呼应这一点。我认为数据库字段不是空的,而是空的、0长度的字符串,或者可能是一些空格。因此,请尝试在firstname不为NULL的地方使用TRIMfirstname