当我尝试连接到我的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());
}
?>
答案 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>