我是PHP / SQL的新手,非常困惑。
在我的SQL数据库中,我有一个用户的以下值:
在我的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?
感谢加载。
答案 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)
。
不直观,但就是这样。