从我的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)
,但这也不起作用。
为什么会这样,或者如何获取此信息?
我需要收集用户信息并发送给他们以填写我没有的信息......
答案 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();
}
请运行代码..我认为它会编译得更好,这是一个小错误