在php中连接MySQL数据库时遇到问题


Having trouble connecting to a MySQL database in php

我有一个php文件,其中包含名为"connect.php"的登录详细信息。

    $host = 'localhost';
    $username = 'username';
    $password = 'password';
    $database = 'database';

我正在尝试连接另一个文件(html),其中包含以下内容:

    $a = file_get_contents("http://example.com/folder/connect.php");
    echo ($a);
    mysql_connect ("$host", "$username", "$password");  
    @mysql_select_db($database) or die("Unable to select database");  

它一直给我这个错误:

    Warning: mysqli_connect() [function.mysqli-connect]: (28000/1045): Access
    denied for user '**wrong username**'@'localhost' (using password: NO) in
    /home/path/public_html/repo/path/downloads.php on line 40

而不是

$a = file_get_contents("http://example.com/folder/connect.php");
echo ($a);

您应该使用require/include:

require_once '/folder/connect.php';

您当前的代码仍然无法使用HTTP,因为您需要评估或解析结果来分配$username$password变量,仅输出PHP脚本的结果不会分配任何变量。

您不需要(或能够)使用http通过http下载MySQL连接信息,尤其是在没有身份验证的情况下。这是一个重大的安全问题。如果这是您的设置,您应该更改它,这样您就可以在web根目录之外存储一个本地配置文件,其中包含您的数据库主机、用户名和密码。

您应该使用include而不是file_get_contents,以便将connect.php解释为php文件:

包括"/path/to/connect.php";