警告:mysqli_connect():( HY000 / 1044):用户''@ localhost'拒绝访问数据库'dbtest'

时间:2017-11-12 10:11:57

标签: php html

当我尝试连接到我的sql server时,它给出了错误:

  

警告:mysqli_connect():( HY000 / 1044):用户''@ localhost'拒绝访问数据库'dbtest'。

我刚刚创建了用户并给了它所有的权限,但我仍然无法工作。在我使用其他帐户之前,我无法更改数据库的持久性。有可能修复的人吗?

这是连接代码。

<?php

    // this will avoid mysql_connect() deprecation error.
    error_reporting( ~E_DEPRECATED & ~E_NOTICE);
    // but I strongly suggest you to use PDO or MySQLi.

    $DBHOST= "localhost";
    $DBUSER= "testadmin";
    $DBPASS= "";
    $DBNAME= 'dbtest';

    $conn = mysqli_connect(localhost, testadmin, $DBPASS, dbtest);
//  $dbcon = mysql_select_db($DBNAME);

    if ( !$conn ) {
        die("Connection failed : " . mysql_error());
    }

?>

5 个答案:

答案 0 :(得分:3)

我知道这个线程很旧,但是艾哈迈德·谢里夫(Ahmad Sharif)是正确的。快速解决此问题的最佳方法(尤其是与新托管公司合作的情况)是使用cPanel中的“ MySQL数据库向导” 创建新数据库,然后向所有人授予所有特权以确保可以进行远程访问。通过“ MySQL数据库向导”创建新数据库时,只需确保选中所有复选框即可。

答案 1 :(得分:0)

double a =2.12345; int b{a}; // According to primer error: narrowing conversion required int c(a); //This is fine 电话中没有主机,没有用户,也没有数据库名称。做:

mysqli_connect

$conn = mysqli_connect($DBHOST, $DBUSER, $DBPASS, $DBNAME);

如果你不压制E_NOTICE,你会发现php正在寻找未定义的常量。

答案 2 :(得分:0)

请检查您是否选中了所有授予权限。如果不这样做,则删除以前的数据库,并从Mysql Database Wizard创建一个新的Db(我想它是共享主机)。在最后一步,您可以检查所有特权。

我遇到了同样的错误,可以通过授予所有特权来解决我的问题。

答案 3 :(得分:0)

就我而言,将所有特权授予“ my_user”解决了问题

GRANT ALL PRIVILEGES ON *.* TO 'my_user'@'%' ;

您可以检查以下链接以获取更多信息 https://mariadb.com/kb/en/grant/

答案 4 :(得分:-2)

我不知道是否有人对此有解决方案,我只是试图为具有相同键列的电子邮件列表创建一个单独的表。我得到了完全相同的错误消息,但是通过编写一个可以在服务器上运行的php文件解决了该问题。php文件创建了表!而且它也有权限让我写信!

这是我用来让服务器创建所需表的文件。并且让我从其他php文件访问它。我在这里称它为“ LetServerMakeTable.php”哈!当我将其上传到我的“ ricky” heliohost服务器时,我在浏览器中运行它,因此: http://virowiz.heliohost.org/LetServerMakeTable.php

结果:...我有一个php文件,其中收集了电子邮件地址和一个使用的ID代码,并将其成功写入到数据库中的新Emails表中。

<html>
<head>

<?php
$conn = mysqli_connect("localhost", "virowiz_Kevin", "password", "virowiz_Covid3a");

// Check connection
if (!$conn)         //<---- ! conn = NOT conn
    {
    echo "Failed";
        die("Connection failed: " . mysqli_connect_error());
    }
else
    {
    echo "Connected successfully";
    }


//---------------------------------- Create the table.
$sql = "CREATE TABLE Emails
(
CVTRn BIGINT(12),
Email char(254),
Mobile char(13)
)";
//----------------------------------


mysqli_error($conn);

if (mysqli_query($conn, $sql))
    {
        echo "Table created successfully";
    }
else
    {
        echo "Error creating table: " . mysqli_error($conn);
    }


mysqli_close($conn);

?>

</head>


</body>
</html>