“注意:未定义的变量”,但在函数中声明了变量

拉夫洛克

我正在浏览我的网站,并尝试使其更适合将来使用,并使其更清洁,以便将许多内容转换为通用功能。

我有一个特殊的功能,它接受用户会话(会话名称是用户名),并在数据库上运行查询,该查询为该用户获取所有其他数据。

我希望userID在某些部分使用,但出现错误“注意:未定义的变量”

这是一个例子:

function getUserData_FromSession() {
if (isset($_SESSION['user'])) {

    $username = "root"; 
    $password = "root"; 
    $host = "localhost"; 
    $dbname = "06vids";

    $options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'); 
    try 
    { 
    $db = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8", $username, $password, $options); 
    } 
    catch(PDOException $ex) 
    { 
    die("Failed to connect to the database: " . $ex->getMessage()); 
    } 
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); 

    $stmt = $db->prepare('SELECT * FROM users WHERE username = "' . $_SESSION['user']. '"');
    $stmt->execute();
    $stmt->setFetchMode(PDO::FETCH_ASSOC);
    while($row = $stmt->fetch()){
    $userid = $row['id'];
    $usernameuser = $row['username'];
    }

}
 }

该功能位于页面中包含的功能文件中,我在该页面上执行以下操作:

 getUserData_FromSession();

 if ($userid == $userbuildid) {
    $editenabled = 'edity';
} else if ($userid !== $userbuildid) {
    $editenabled = 'editx';
}

这给出了未声明$ userid的错误。如果我实际上在同一页面上有查询,那么它工作正常,但我不想到处都弹出查询负载。

ZorleQ

您的变量是在函数的本地范围内定义的,永远无法在该函数外部访问。当然,除非您将其定义为全局。

http://php.net/manual/zh/language.variables.scope.php

因此,快速修复如下所示:

function getUserData_FromSession() {
    global $userid;
    (...)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

注意:函数+ =中的未定义变量

来自分类Dev

即使在 TS 中声明了变量,也未定义

来自分类Dev

Javascript:虽然在全局范围内声明了变量,但在函数内部仍未定义

来自分类Dev

模态错误,因为已经声明了“未定义”变量

来自分类Dev

IF语句中的未定义变量(但似乎正确声明了)

来自分类Dev

注意:未定义的变量

来自分类Dev

为什么变量在方法中未定义但在Typescript的构造函数中未定义

来自分类Dev

为什么在方法中未定义变量但在Typescript的构造函数中未定义变量

来自分类Dev

未定义变量:声明

来自分类Dev

PHP注意:array_walk_recursive函数中的未定义变量

来自分类Dev

为什么即使声明了全局变量,Javascript代码也会显示“未定义”?

来自分类Dev

注意:未定义的变量:include()中的x

来自分类Dev

PHP注意:未定义的变量

来自分类Dev

注意:未定义的变量:startdate

来自分类Dev

注意:未定义的索引:变量

来自分类Dev

PHP注意:未定义的变量

来自分类Dev

注意:未定义的变量,其中<?= $ property

来自分类Dev

注意:未定义的索引:变量

来自分类Dev

注意:未定义的变量:表

来自分类Dev

PHP注意:未定义的变量:

来自分类Dev

注意:未定义的变量:mysqli

来自分类Dev

注意:未定义的变量:num

来自分类Dev

vim:函数中未定义的变量

来自分类Dev

函数中未定义的变量

来自分类Dev

函数中的未定义变量

来自分类Dev

函数中未定义或空变量

来自分类Dev

函数中未定义的数组变量

来自分类Dev

类中未定义的函数或变量

来自分类Dev

变量在函数中未定义