PHP cant connect to MySQL

五迷三道 提交于 2019-12-02 11:04:29

问题


$link = mysql_connect('localhost', $username, $password);
if (!$link) 
{
     die('Could not connect: ' . mysql_error());
}

I get this error:

Could not connect: Access denied for user 'www-data'@'localhost' (using password: NO)

Why?

Edit:

$username="root";
$password="root";
$database="test";

    function Save($name)
    {
        $link = mysql_connect('localhost', $username, $password);
        if (!$link) {
            die('Could not connect: ' . mysql_error());
        }
        @mysql_select_db($database) or die( "Unable to select database");
        $query = "INSERT INTO test (name)" .
                 "VALUES ('" . $name . "')";
        mysql_query($query);
        mysql_close();
    }

回答1:


From your edit, the issue appears to be a scoping one.

You're attempting to make a connection inside a function where the $username, $password and $database variables are defined outside that function.

I suggest you read the Variable Scope section of the manual and turn up your error reporting as @netcoder suggests in the question comments.




回答2:


Did you give $username and $password values? Something like this?

$username="root";
$password="";



回答3:


Your $password variable is empty ((using password: NO)) then you trying log into www-data user without password, and server result is access denied. Propably this user have setted password.




回答4:


I think the problem is that, you are trying to connect to the database twice. Somewhere in your code, you are already trying to connect to the database with username as "www-data"...... and again you are connecting to the database with username "root".

Also the password you are providing with the username "www-data" is wrong, thats y you getting the error message.




回答5:


$username="root";
$password="root";
$database="test";

    function Save($name)
    {
        global $username;
        global $password;
        global $database;

        $link = mysql_connect('localhost', $username, $password);
        if (!$link) {
            die('Could not connect: ' . mysql_error());
        }
        @mysql_select_db($database) or die( "Unable to select database");
        $query = "INSERT INTO test (name)" .
                 "VALUES ('" . $name . "')";
        mysql_query($query);
        mysql_close();
    }


来源:https://stackoverflow.com/questions/4082938/php-cant-connect-to-mysql

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!