所以我在这里有一个获取用户名的方法,在开头我有一些全局变量定义来检索我正在制作的数据库连接信息:
global $dbprefix;
global $servername;
global $username;
global $password;
我在require_once
添加的文件中引用了这些变量。如果我在同一个文件中调用此方法,它会显示我正在查找的内容(用户名),但是,如果我从另一个文件中调用此方法(即使在创建了一个对象之后),我得到了这个错误:
Warning: mysqli::mysqli(): (HY000/1045): Access denied for user **''@'localhost'** (using password: NO) in /var/www/html/dotproject-dev/modules/reports/reports.custom.class.php on line 28
Connection failed: Access denied for user ''@'localhost' (using password: NO)
观察到数据库,用户和密码变量似乎是空的。我的问题是,它在哪里寻找这些价值观?它是在类文件中还是在我的查看器中?我也尝试在查看器文件中设置这些变量仅用于测试目的,我得到相同的结果。
答案 0 :(得分:0)
对于那些遇到过这种情况的人来说,唯一可以使它工作的是将这些值($ dbprefix,$ password等)作为方法参数传递。然后我在我的查看器中添加了dbconfig文件(require_once)。