Reference: What is variable scope, which variables are accessible from where and what are “undefined variable” errors? (3个答案)
4年前关闭。
我有一个正常的php文件,我的主程序代码在其下面的几个函数上方。我的连接文件仅在顶部包含一次。我下面的一些自定义函数具有查询,并且这些函数在上面的程序中被调用。有一些我不明白的地方:
如果我没有在函数中包含连接文件,则该函数中的查询将无法正常工作。那么,为什么我需要在每个函数中都包含我的连接文件?
我在下面解释:
即使我在函数外部的文件中上面连接,也无法引发boolean mysqli_fetch和查询错误。为什么不起作用?
function queryProfileInfo($iduser){
$iduser=$_SESSION['logged_in']['iduser'];
$query ="SELECT fnlname, username, gender, email, emailconfirmed, bio, avatar, followercount, followingcount, privatepublic FROM profile Where iduser='$iduser' ";
$response=mysqli_query($dbc, $query);
while($row =mysqli_fetch_array($response)){
$username= $row['username'];
}
}
/ *下一个示例可以工作,但是会引发以下错误,因为我已经在文件中连接了上面
注意:第8行的C:\ xampp \ htdocs \ theproject \ connect.php中已定义的常量DB_USER
注意:第9行的C:\ xampp \ htdocs \ theproject \ connect.php中已定义的常量DB_PASSWORD
注意:在第10行的C:\ xampp \ htdocs \ theproject \ connect.php中已经定义了常量DB_HOST
注意:第11行的C:\ xampp \ htdocs \ theproject \ connect.php中已定义的常量DB_NAME
* /
function queryProfileInfo($iduser){
include('connect.php');
$iduser=$_SESSION['logged_in']['iduser'];
$query ="SELECT fnlname, username, gender, email, emailconfirmed, bio, avatar, followercount, followingcount, privatepublic FROM profile Where iduser='$iduser' ";
$response=mysqli_query($dbc, $query);
while($row =mysqli_fetch_array($response)){
$username= $row['username'];
}
}