【问题标题】:PHP include/require variables not passedPHP 包含/要求变量未通过
【发布时间】:2016-08-04 18:39:24
【问题描述】:

编辑:已解决

我正在尝试从一个单独的文件传递一些用于 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.php:

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

消息通过:

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

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

有什么想法吗,谢谢? 马特

【问题讨论】:

    标签: php variables mysqli require


    【解决方案1】:

    也许这种方式可能对你更有效。

    <?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();
    
    ?>
    

    【讨论】:

    • 我也尝试过这种方式,但没有运气。有没有可能我的 php5.ini 文件搞砸了?我不得不从头开始创建一个,不知道我是否拥有我需要的一切。
    • 嗯,可能。您是否尝试过(用于调试目的)只是将变量逐字逐句放在函数中?
    • 是的,这样可以正常工作。我可以保持这种方式,我只是希望它们在一个单独的文件中。
    • 当您包含位于同一目录中的文件时,您是否也遇到了类似的问题?这似乎很奇怪。
    • 是的,实际上。我在包含文件中包含一个包含一些 js 脚本的文件时遇到了问题,但是当我将脚本移动到第一个包含时,它们起作用了。它们都在同一个目录中。
    猜你喜欢
    • 2015-12-18
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多