存在变量时PHP中的未定义变量

时间:2017-09-12 02:23:50

标签: php phpstorm

我已经查看了其他SO问题,但没有一个问题解决了这个问题。下面的类定义变量,然后在html代码中调用变量。我已经将这个相同的方法用于另一个PHP页面,它完美地运行。由于某种原因,它不适用于此页面。我已经多次这样做了,没有任何问题。 PHPStorm表示变量 $ user "可能尚未定义"但我知道是的。我怎样才能解决这个问题?我已经尝试将变量global设置在页面顶部而没有运气。我尝试在if(isset())之后设置变量global,但仍然不起作用。这是我的PHP代码:

best_time

修改

这是使用XAMPP

运行后在浏览器中显示的内容
  

注意:未定义的变量:第22行的C:\ Users \ USER \ PhpstormProjects \ site1 \ view_user.php中的用户

2 个答案:

答案 0 :(得分:4)

这应该是评论,但我还没有代表。

PhpStorm说可能没有定义$ user变量,因为它当前设置在' if'块。如果您希望PhpStorm消息消失,请在'之上定义$ user。作为一个数组。

$user = [];
if (isset($_GET['user_id'])) {
    $tid = $_GET['user_id'];
    $stmt = $user_edit->runQuery("SELECT * FROM users WHERE user_id = :id");
    $stmt->execute(array(':id' => $tid));
    $user = $stmt->fetch(PDO::FETCH_ASSOC);
}

如果页面上没有显示用户名,则查询将返回为空(false)或索引'用户名'是不正确的。

当然,要填充$ user,user_id需要在查询字符串中。

答案 1 :(得分:1)

  1. 首先定义$user

    $user = array();
    // your codes
    
  2. 在致电

    之前检查$user
    if (isset($user['username']) && !empty($user['username'])) {
        // your codes