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