PHP变量在if语句中失去作用域

PHP变量在if语句中失去作用域,php,Php,嘿,伙计们,我有一个非常恼人的问题,我的变量一直在失去作用域,似乎什么都不起作用,我不确定到底出了什么问题 这个php是为了让管理员编辑用户的电子邮件,用户ID在链接中发送,在这里收到,我选择用户向他显示当前的电子邮件,然后管理员提交一个新的电子邮件通过一个表单,它更新 但是$user_id变量在IF中为空。。就像它把它识别为另一个变量一样,我尝试了var_dump。。它实际上是空的,试过全局和$GLOBALS。。什么都不管用 $userid = $_POST['user_id']; $mys

嘿,伙计们,我有一个非常恼人的问题,我的变量一直在失去作用域,似乎什么都不起作用,我不确定到底出了什么问题

这个php是为了让管理员编辑用户的电子邮件,用户ID在链接中发送,在这里收到,我选择用户向他显示当前的电子邮件,然后管理员提交一个新的电子邮件通过一个表单,它更新

但是$user_id变量在IF中为空。。就像它把它识别为另一个变量一样,我尝试了var_dump。。它实际上是空的,试过全局和$GLOBALS。。什么都不管用

$userid = $_POST['user_id'];

$mysqli_object = fQuery('users', 'SELECT', '*', null, array('user_id'), array($userid), null, null);

$mysqli_count = mysqli_num_rows($mysqli_object);

$user_id = '';
$account = '';
$name = '';
$email = '';

while($row = mysqli_fetch_array($mysqli_object)) {
    $user_id = $row['user_id'];
    $account = $row['account'];
    $name = $row['name'];
    $email = $row['email'];
}

if(isset($_POST['new_email'])) {        
    if(!filter_var($_POST['new_email'], FILTER_VALIDATE_EMAIL)) {
        header("Location: editEmail.php?R=2");
        die();        
    }

    if(!empty($_POST['new_email'])) {
        //NOTHING
    }else {
        header("Location: editEmail.php?R=2");
        die();    
    }

    $new_email = $_POST['new_email'];

    $mysqli_object = fQuery('users', 'UPDATE', array('email'), array($new_email), array('user_id'), array($user_id), null, null);

    if($mysqli_object) {
        header("Location: editEmail.php?R=1");
        die();                
    }else {
        header("Location: editEmail.php?R=3");
        die();    
    }   
}

fQuery是我用来编写mySQL的函数,如果$user\u id为空,这意味着它没有被循环填充,这意味着数据库中可能不存在该值。您希望在
$mysqli\u object
中找到多少行?只有一行,具有相同$user_id的行,则不应使用
while
语句检索该行<代码>$row=mysqli\u fetch\u数组($mysqli\u对象);如果(!is_array($row)){/*未找到用户*/}。然后从
$row
填充变量。