3

在过去的几周里,我一直间歇性地出现 Access denied for user 123456'@'mysqldb' (using password: YES) 错误。这些错误可能出现在所有数据库页面上。

在与我的客户讨论时,他可能会遇到特定页面的问题,而我没有。

我的托管服务提供商说他们的数据库服务器没有问题。我正在使用mysql_connect("database", "user", "password")连接。想知道如何确定问题所在。

4

1 回答 1

-1

您的mysql_connect()函数输入值排序错误。

<?php
    $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

    if (!$link) {

        die('Could not connect: ' . mysql_error());

    }

    echo 'Connected successfully';

    mysql_close($link);
?>

看起来您正在尝试连接数据库。mysqldb看起来更像数据库名称。并且123456可能是您的密码,但我猜您将其用作用户名。

您必须尝试连接到通常命名为 localhost 或某个 IP 的数据库服务器。

mysql_connect('localhost', 'mysql_user', 'mysql_password') or die(mysql_error());

会告诉你问题是什么。

函数也mysql_*被弃用。使用PDOmysqli_*代替。

使用PDO您可以构建一个try-catch结构并查看问题所在。

    try
    {
       $Link = new PDO('mysql:host=server;dbname=database', 'username',
'password');
    }
    catch (PDOException $e)
    {
        echo $e;
    }
于 2013-10-04T06:10:49.543 回答