2015-10-07 92 views
-1

我需要从数据库中提取值。 我正在使用我的MySQL mysqli_fetch_assocwhile loop,我不知道列的名称。如何避免mysqli_fetch_assoc中的空值?

我正在从行中获取null值。

这里是我的代码:

$myQuery ='Select * from `tableName` '; 
$query = $conn->query($myQuery); 
while($row = mysqli_fetch_assoc($query)) 
    { 
$data[] = $row; 
    } 

当我打印此$data[]阵中还有几个空行是这样的:

{ 
ID: null, 
Car: null, 
Phone: null, 
State: null 
}, 
{ 
ID: null, 
Car: null, 
Phone: null, 
State: null 
}, 

我怎样才能避免这些空行?我不知道列名。

+1

'select * from tableName where ID is not null'并且你一直说你不知道列名,但是你只是打印出所有四个列两次。 – ElefantPhace

+0

只需在查询期间过滤空值:'SELECT * FROM tableName WHERE Car IS NOT NULL'?另外,为什么数据库中有空值。你应该避免插入全空值 – Raptor

+0

可能重复[MySQL SELECT only not null values](http://stackoverflow.com/questions/5285448/mysql-select-only-not-null-values) – ElefantPhace

回答

0

在MySQL中,我们可以使用IFNULL()函数来查找空值。试试这个

$myQuery ='Select IFNULL(Car,0),IFNULL(Phone,0),IFNULL(State,0) from `tableName` '; 

       (or) 

$myQuery ='Select IFNULL(*,0) from `tableName` ';