如何在php中检查单个mysql字段是否为空

时间:2014-03-06 14:56:12

标签: php mysql

从我的sql数据库获取用户信息后,我想检查一些字段是否为空并继续基于此的脚本。简化的代码片段如下所示:

$userData = mysql_query("SELECT * FROM user WHERE user='".$user."' LIMIT 1");

if(mysql_num_rows($data) == 1){

    $u_info = mysql_fetch_assoc($data);

    if(empty($u_info['u_mobile'])){
        echo 2;
        exit();
    } else {
        echo 1;
        exit();
    }

} else {

    echo 3;
    exit();
}

问题是检查收到的字段的空语句。我已经尝试过使用empty(),isset(),not_null()和array_key_exists()而没有运气,无法解决我做错的事情。 我也试过if($u_info['u_mobile']) == '' || $u_info['u_mobile']) == NULL),但这也不起作用。

为什么会这样,或者如何获取此信息?

我需要收集用户信息并发送给他们以填写我没有的信息......

2 个答案:

答案 0 :(得分:2)

您将查询结果设置为$userData,但之后您正在使用mysql_fetch_assoc($data); - doh。您需要将设置查询结果的变量传递给:

$u_info = mysql_fetch_assoc($userData);

没关系,它仍然是美国东部时间上午10点所以这可能发生在早上=) 我建议你打开PHP错误报告。 PHP会提醒你,试图访问的数组值不存在,从而为你节省了大量的时间。

答案 1 :(得分:0)

$userData = mysql_query("SELECT * FROM user WHERE user='".$user."' LIMIT 1");

if(mysql_num_rows($userData ) == 1){

    $u_info = mysql_fetch_assoc($userData );

    if(empty($u_info['u_mobile'])){
        echo 2;
        exit();
    } else {
        echo 1;
        exit();
    }

} else {

    echo 3;
    exit();
}

请运行代码..我认为它会编译得更好,这是一个小错误