如果列为空,MySQL选择行并忽略行

时间:2017-07-18 13:59:39

标签: php mysql dreamweaver

使用Dreamweaver CS5 / MySQL

我尝试设置一个显示数据行的查询,但仅当特定列中包含数据时才会这样做。如果Charname列为空,我不希望显示该行。

目前查询有效,但当Charname列为空时,它也会显示行。我努力建立并且在每一个转折点都失败了。提前谢谢。

mysql_select_db($database_login_form, $login_form);
$query_Recordset1 = "SELECT * FROM users";
$Recordset1 = mysql_query($query_Recordset1, $login_form) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);


<?php do { ?>
<li><a href="profile.php?id=<?php echo $row_Recordset1['id']; ?>"><?php echo $row_Recordset1['Charname']; ?></a></li>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>

2 个答案:

答案 0 :(得分:4)

像这样更新您的查询

SELECT * FROM users where Charname IS NOT NULL or Charname != '';

您也可以使用COALESCE()进行检查空

SELECT * FROM users WHERE COALESCE(Charname, '') != '';

了解更多信息

https://www.w3schools.com/sql/sql_isnull.asp

你可以在你的php结束时检查

假设像这样

$Charname = $row_Recordset1['Charname'];
if($Charname == '' || $Charname === null || is_null($Charname)){
   continue;
}

答案 1 :(得分:2)

您可以使用COALESCE()将空白(空字符串)和NULL视为同一件事:

SELECT * FROM users WHERE COALESCE(Charname, '') != ''

你从来没有告诉我们“空”究竟意味着什么,但一个好的猜测是空字符串或NULL