猿问

无法从不同的文件中获取变量

我试图从我的数据库中获取数据并用一个变量回显它,但我有一个问题。当我尝试从不同的文件中获取我的变量时,它显示了这个错误:


未定义的变量:con in。


这里有一些代码:


来自functions.php的代码:


include "authentication.php";


function GetData() {

$id = session_id();

$result3 = mysqli_query($con,"SELECT * FROM accounts where id='$id'");

while($row3 = mysqli_fetch_array($result3));

$email=$row3['email'];

$fullname=$row3['fullname'];

$usualname=$row3['usualname'];

$lastname=$row3['lastname'];

}

}

来自 authentication.php 的代码:


$DATABASE_HOST = 'localhost';

$DATABASE_USER = '***';

$DATABASE_PASS = '***';

$DATABASE_NAME = '***';


$con = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME);

if ( mysqli_connect_errno() ) {


    die ('Failed to connect to MySQL: ' . mysqli_connect_error());

}

当我尝试从其他文件中获取变量时,也会发生这种情况。在这里,您可以从不同文件和不同变量中获得一些错误截图:

http://img.mukewang.com/618f619b0001ed5d11130049.jpg

这两个文件都在名为 PHPscripts 的同一目录中:


http://img1.mukewang.com/618f61a80001321704480091.jpg

FFIVE
浏览 112回答 2
2回答

aluckdog

这看起来像是范围界定的问题。请记住,在 PHP 中,global不能从函数访问作用域中的变量。你必须明确做这样的事情global $con;在函数内部GetData()尝试访问之前$con。从系统设计的角度来看,这不是最好的方法。这将使跟踪您的变量变得困难。您不知道谁(脚本的哪一部分)正在访问该全局变量,也不知道它是如何被修改或以什么顺序修改的。这可能会导致一些很难识别的错误。

汪汪一只猫

require_once dirname(__FILE__) . auth.php;Require_once或require与 Unix 完整路径一样有效。替换包含代码中的笔划。
随时随地看视频慕课网APP
我要回答