如何检查数据库值是否为空?

时间:2015-03-06 03:43:05

标签: php sql database variables null

我是PHP / SQL的新手,非常困惑。

在我的SQL数据库中,我有一个用户的以下值:

values

在我的PHP脚本中,回显这些值会给我0。

查询:

$query = "SELECT * FROM user WHERE email = '{$email}'";
$result = mysqli_query($con, $query);
$row = mysqli_fetch_array($result);

我在数据库中指定链接到上述用户的电子邮件。我得到了所需的行(用户ID 13和这些空值)。仍然,代码进入if语句:

if (!empty($row['first_name']) && !empty($row['last_name']) && 
!empty($row['age']) && !empty($row['picture_path'])) {
    echo "inside";
}

回应值本身给了我0而不是null。为什么?我怎样才能正确检查空/ null?

感谢加载。

2 个答案:

答案 0 :(得分:0)

如果使用COALESCE()函数将某个值设为null,则可以指定某个字符串。见下文:

"SELECT 
       COALESCE(user_id,'null')user_id,
       COALESCE(first_name,'null')first_name,
       COALESCE(middle_name,'null')middle_name,
       COALESCE(last_name,'null')last_name,
       COALESCE(rs_status,'null')rs_status,
       COALESCE(age,'null')age,
       COALESCE(town,'null')town,
       COALESCE(phone,'null')phone,
       COALESCE(picture_path,'null')picture_path
 FROM user 
WHERE email = '{$email}'"

答案 1 :(得分:0)

PHP empty('0')返回true;测试空使用is_null($var)

不直观,但就是这样。