1

我有一个简单的 PHP 页面,它连接到数据库以读取值,当我在本地部署它时,这一切似乎都可以正常工作。但是,当我部署到我的服务器时,它不会连接 - 在我看来,它似乎忽略了我的连接文件并使用默认值......?

    <?php
//Database details
include "Connection.php";
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
?>

//Contents of Connection.php
<?php
  $user_name = "sam";
$password = "123456";
$database = "clubleague";
$server = "localhost";
?>

我回来的错误是:

用户 'www-data'@'localhost' 的访问被拒绝(使用密码:否)。

我本来希望它说用户“sam”的访问被拒绝,而不是www-data?在 phpMyAdmin 中,我有一个名为 Sam 的用户附加到数据库中,我尝试为其授予对 Global 和本地数据库的完全权限,但没有任何乐趣。任何提示,建议让它与我的凭据连接?

4

2 回答 2

2

看起来您的“Connection.php”不包括在内。为避免这种情况,请检查文件路径并使用“require”而不是“include”(http://php.net/manual/en/function.require.php)。在这种情况下,“require”会向您抛出错误,您不会错过它们。

于 2013-04-03T12:38:35.257 回答
1

mysql_connect似乎是通过empty$server和.$user_name$password

默认情况下,它使用运行 PHP 解释器的凭据(在您的情况下是 Apache 凭据)通过默认 UNIX 套接字连接到本地服务器。

很可能它反映在 Web 服务器日志中(“未定义变量:服务器在 ...”)等。

请检查它Connection.php确实存在并且实际上被包括在内。

于 2013-04-03T12:32:06.290 回答