访问被拒绝用户'www-data'@'localhost'

时间:2015-03-03 03:46:20

标签: php mysql

运行代码时出现此错误。如何将用户www-data更改为root

//终端

中记录的错误
[Tue Mar 03 10:33:01.023877 2015] [:error] [pid 3161] [client 127.0.0.1:37725] PHP Warning:  mysql_query(): Access denied for user 'www-data'@'localhost' (using password: NO) in /var/www/html/wow/register.php on line 23, referer: http://localhost/wow/register.php

[Tue Mar 03 10:33:01.023957 2015] [:error] [pid 3161] [client 127.0.0.1:37725] PHP Warning:  mysql_query(): A link to the server could not be established in /var/www/html/wow/register.php on line 23, referer: http://localhost/wow/register.php


// Codes inside register.php
<?php
require('config.php');

if(isset($_POST['submit'])){

    //Perform the verification of the nation
      $email = $_POST['email'];
      $confirmEmail = $_POST['confirmEmail'];
      $pass = $_POST['pass'];
      $confirmPass = $_POST['confirmPass'];

        if($email == $confirmEmail){
            if($pass == $confirmPass){
                //All good, Carry on.
                  $firstName = mysql_escape_string($_POST['firstName']);
                  $lastName = mysql_escape_string($_POST['lastName']);
                  $userName = mysql_escape_string($_POST['userName']);
                  $email = mysql_escape_string('email');
                  $confirmEmail = mysql_escape_string('confirmEmail');
                  $pass = mysql_escape_string('pass');
                  $confirmPass = mysql_escape_string('confirmPass');

        mysql_query("INSERT INTO `users` (`id`, `firstName`, `lastName`, `userName`, `email`, `pass`) VALUES (NULL, '$firstName', '$lastName', '$userName', '$email', '$pass')") or die("Can't Connect!");


            } else{
                echo "Sorry, your passwords do not match. <br />";
            }

        } else {
            echo "Sorry, your email's do not match. <br />";
        }
} else{

    $form = <<<EOT
        <form action="register.php" method="POST">
            First Name: <input type="text" name="firstName"/><br />
            Last Name: <input type="text" name="lastName"/><br />
            Username: <input type="text" name="userName"/><br />
            Email: <input type="text" name="email"/><br />
            Confirm Email: <input type="text" name="confirmEmail"/><br />
            Password: <input type="password" name="pass"/><br />
            Confirm Password: <input type="password" name="confirmPass"/><br />

            <input type="submit" value="Register" name="submit"/>
        </form>
EOT;

}

echo $form;

?>

3 个答案:

答案 0 :(得分:1)

第一个错误是您尝试连接数据库时。

config.php上,您可能会看到www-data之类的数据库用户,请将其更改为正确的用户名和密码。

您也可以搜索项目中的www-data字样。

您遇到第二个错误,因为第一个错误。由于您的连接失败,因此您的链接为null

答案 1 :(得分:0)

您的MySQL用户名或密码不正确(当前为空白)或用户www-data不允许在域localhost上连接。

您需要在MySQL中创建用户并为该数据库分配访问权限和权限,或者如果已经完成,请检查您是否填写了正确的详细信息。

另外,mysql_connect和&#39; mysql&#39;函数现在已折旧。升级到mysqli。

您可以使用一些参考资料开始。

https://www.digitalocean.com/community/tutorials/a-basic-mysql-tutorial

https://www.digitalocean.com/community/tutorials/how-to-create-a-new-user-and-grant-permissions-in-mysql

http://codular.com/php-mysqli

答案 2 :(得分:0)

db在哪里?你在使用godaddy托管吗?从昨天3月3日16:10 UTC开始,似乎有多个网站受到此错误的影响。 (您的时间与此事件匹配)如果您确定用户ID的用户名,密码或权限未更改,请与db admin一起检查以执行ID的恢复。 (PS:我的观点不允许评论)