Php 仅在一个页面上找不到数据库连接变量
连接文件是:Php 仅在一个页面上找不到数据库连接变量,php,mysqli,Php,Mysqli,连接文件是: $DBconnect = mysqli_connect("localhost", "root", "", "project" ); 这适用于所有页面,除了一个页面,它给出了以下错误: 未定义变量:DBconnect 本部分: include_once('connection.php'); // Function that will convert a user id into their username function getusername($uid) { $res =
$DBconnect = mysqli_connect("localhost", "root", "", "project" );
这适用于所有页面,除了一个页面,它给出了以下错误:
未定义变量:DBconnect
本部分:
include_once('connection.php');
// Function that will convert a user id into their username
function getusername($uid) {
$res = mysqli_query($DBconnect, "SELECT username FROM users WHERE id='".$uid."' LIMIT 1") or die(mysql_error());
感谢您的建议更改此设置
function getusername($uid){
$res = mysqli_query($DBconnect, "SELECT username FROM users WHERE id='".$uid."' LIMIT 1") or die(mysql_error());
}
对此
function getusername($uid){
global $DBconnect;
$res = mysqli_query($DBconnect, "SELECT username FROM users WHERE id='".$uid."' LIMIT 1") or die(mysql_error());
}
或
这是一个范围问题
$DBConnect在全局作用域中可用,但无法在函数中自动访问全局作用域。因此,将$DBConnect作为参数传递给函数,一切正常
include_once('connection.php');
function getusername($uid, $DBConnect) {
$res = mysqli_query($DBconnect, "SELECT username
FROM users
WHERE id='$uid' LIMIT 1");
if ( ! $res ) {
echo mysql_error();
exit;
}
}
// call function with an extra parameter i.e. the $DBConnect
getusername($uid, $DBConnect);
您在全局范围内定义变量,但尝试在函数范围内访问它。这是行不通的。在函数中尝试以下操作:$\u GLOBALS['DBconnect']了解变量范围。但要快速修复,请包括行global$DBconnect;在函数中。确保这是connection.php的正确路径。2.它是在您的全局函数范围中定义的,而不是所需的函数范围。啊,是的,感谢尝试在函数中使用全局变量是问题所在
include_once('connection.php');
function getusername($uid, $DBConnect) {
$res = mysqli_query($DBconnect, "SELECT username
FROM users
WHERE id='$uid' LIMIT 1");
if ( ! $res ) {
echo mysql_error();
exit;
}
}
// call function with an extra parameter i.e. the $DBConnect
getusername($uid, $DBConnect);