未传递PHP include/request变量


PHP include/require variables not passed

编辑:已解决

我试图从一个单独的文件中为mysql连接传递一些变量。然而,它们似乎只是以字符串形式出现,而不是作为变量出现。

connect.php:

<?php
    function connect(){
        require ($_SERVER['DOCUMENT_ROOT'].'/db-connect.php');
        $conn1 = new mysqli($servername, $username, $password, $dbname);
        if ($conn1->connect_error) {
            die("Connection failed: " . $conn1->connect_error);
            }
            echo $conn1->host_info . "'n";
    }
    connect();
?>

db-connect.hp:

<?php
$servername = "localhost";
$username = "-";
$password = "--";
$dbname = "---";
?>

消息通过:

$servername = "localhost"; $username = "-"; $password = "--"; $dbname = "---";Connection failed: Access denied for user '-'@'localhost' (using password: NO)

注意事项:末尾的$密码与db-connect.php文件中的密码不同。这是我第一次尝试时使用的旧密码。此外,用户'-'@'localhost'是旧用户,而不是$username中的用户。

有什么想法吗?谢谢?Matt

也许这种方式对您更有效。

<?php
require ($_SERVER['DOCUMENT_ROOT'].'/db-connect.php');
   function connect(){
   global $servername, $username, $password, $dbname;
        $conn1 = new mysqli($servername, $username, $password, $dbname);
        if ($conn1->connect_error) {
            die("Connection failed: " . $conn1->connect_error);
            }
            echo $conn1->host_info . "'n";
    }
    connect();
?>