Require_once config.php不使用函数php
我的代码有问题,希望大家能帮助我 这是我的config.phpRequire_once config.php不使用函数php,php,mysql,mysqli,Php,Mysql,Mysqli,我的代码有问题,希望大家能帮助我 这是我的config.php $host = "localhost"; $db_user = "root"; $db_pass = "vertrigo"; $db_name = "DBname"; $mysqli = new mysqli($host, $db_user , $db_pass, $db_name); mysqli_set_charset($mysqli, 'UTF8'); if ($mysqli->connect_errno) { ec
$host = "localhost";
$db_user = "root";
$db_pass = "vertrigo";
$db_name = "DBname";
$mysqli = new mysqli($host, $db_user , $db_pass, $db_name);
mysqli_set_charset($mysqli, 'UTF8');
if ($mysqli->connect_errno) {
echo "Errno: " . $mysqli->connect_errno . "<br />";
echo "Error: " . $mysqli->connect_error . "\n";
exit;
}
这是我的选择库
function SelectAdmin()
{
$sql = "SELECT * from admin order by id ASC";
$result=$mysqli->query($sql);
return $result;
}
然后,我在index.php中调用它
while ($rows = SelectAdmin()->fetch_assoc())
{
echo $rows['Fullname'];
}
但它显示出错误
未定义变量:mysqli in\第8行的lib\select.php
请帮帮我。谢谢大家! 请尝试以下操作:
function SelectAdmin() {
global $mysqli;//You need this !
$sql = "SELECT * from admin order by id ASC";
$result=$mysqli->query($sql);
return $result;
}
这是一个典型的范围问题 您在“main”范围中声明了
$mysqli
,我们称之为“level0”,现在您希望在SelectAdmin()
中访问它。但是在该方法中没有定义$mysqli
变量,因为在该方法中,您处于“级别1”
您可以通过将变量标记为全局:global$mysqli
告诉SelectAdmin()
在级别0使用该变量
或者更好的方法是,您可以定义一个Connect()
方法,在每次需要时建立连接
因此,在
选择admin()
中,您必须调用$mysqli=Connect()
,这应该适用于需要连接的每个方法。将$mysqli传递给函数,以便它可以访问$mysqli变量
function SelectAdmin($mysqli) {
$sql = "SELECT * from admin order by id ASC";
$result=$mysqli->query($sql);
return $result;
}
如果这解决了问题,请将其标记为已接受(以便将来面临相同问题的人能够轻松发现)。您不应使用全局变量,而应将$mysqli变量传递给function@ArunKumaresh为什么?精心设计!!看到这个@ArunKumaresh好的,请帮我找出“不要使用”?因为没有!
function SelectAdmin($mysqli) {
$sql = "SELECT * from admin order by id ASC";
$result=$mysqli->query($sql);
return $result;
}