Php MySQL选择行,如果列为空则忽略行
使用Dreamweaver CS5/MySQL 我正在尝试设置一个查询,该查询将显示数据行,但仅当特定列中包含数据时才显示。如果Charname列为空,我不希望显示该行 当前查询可以工作,但当Charname列为空时,它也会显示行。我正在努力设置,但每次都失败了。提前谢谢Php MySQL选择行,如果列为空则忽略行,php,mysql,dreamweaver,Php,Mysql,Dreamweaver,使用Dreamweaver CS5/MySQL 我正在尝试设置一个查询,该查询将显示数据行,但仅当特定列中包含数据时才显示。如果Charname列为空,我不希望显示该行 当前查询可以工作,但当Charname列为空时,它也会显示行。我正在努力设置,但每次都失败了。提前谢谢 mysql_select_db($database_login_form, $login_form); $query_Recordset1 = "SELECT * FROM users"; $Recordset1 = mysq
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)); ?>
mysql\u select\u db($database\u login\u form,$login\u form);
$query\u Recordset1=“选择*来自用户”;
$Recordset1=mysql\u query($query\u Recordset1,$login\u form)或die(mysql\u error());
$row\u Recordset1=mysql\u fetch\u assoc($Recordset1);
$totalRows\u Recordset1=mysql\u num\u rows($Recordset1);
像这样更新您的查询
SELECT * FROM users where Charname IS NOT NULL or Charname != '';
还可以使用COALESCE()
检查空值
SELECT * FROM users WHERE COALESCE(Charname, '') != '';
更多信息
您还可以在php端进行检查
假设是这样
$Charname = $row_Recordset1['Charname'];
if($Charname == '' || $Charname === null || is_null($Charname)){
continue;
}
您可以使用
COALESCE()
将空白(空字符串)和NULL
视为同一事物:
SELECT * FROM users WHERE COALESCE(Charname, '') != ''
您从来没有告诉我们“empty”的实际含义,但是一个好的猜测应该是空字符串或
NULL
?您是否只需要在查询中附加“SELECT*FROM users”,使其包含一个WHERE column\u name NOT NULL
子句?$query\u Recordset1=“SELECT*FROM users WHERE charname!=”且charname NOT NULL”代码>这正是您所寻找的,但我会认真研究学习基本SQL,因为这确实是最基本的课程之一。从用户那里选择*,其中有些东西!=""; 如果要检查所有列,请选中此项以获得更好的解决方案。对不起,为什么要使用do while
do while
将至少执行一次,即使从数据库中获取的数据是空的,但是如果您仅尝试使用while
如何,谢谢:)添加Where/Null语句不会改变问题。即使Charname列为空,它仍会显示该行。不客气,通常第一个答案可以工作,但如果字符串为空,在这种情况下,第二个答案和您也可以使用php进行检查。这解决了我的问题,非常感谢。我已经花了几个小时尝试不同的方法,当正常的where/null语句不起作用时,我就陷入了困境。再次感谢你。