最近我购买了域名“domain.com”。托管公司拥有通常的CPanel来处理数据库。连接到远程服务器上托管的MySQL数据库
使用“MySQL数据库”我:
- 创建名为数据库“数据库1”
- 创建了用户的用户名“用户1”和密码“PASS1”
- 新增用户“ user1“到数据库”database1“
到目前为止这么好。
之后,我点击PHPMyAdmin并重定向到PHPMyAdmin网页。在那里我看到了我以前创建的“database1”。点击该数据库,我使用IMPORT导入了一个名为“test”[columns(id,name,surname)]的非常简单的表格。在数据库“database1”下面导入创建的表“test”,这是正确的。
之后我试图用下面的代码(connect_to_db.php
)连接到数据库:
// Create connection
$con=mysqli_connect("domain.com","user1","pass1","database1");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error() ."<br>";
}
我已上传的connect_to_db.php
入/home/domain/public_html/
。
当我尝试连接到数据库1,我收到以下错误:
Warning: mysqli_connect() [function.mysqli-connect]: (28000/1045): Access denied for user 'user1'@'xxx.xxx.xxx.xxx' (using password: YES) in /home/karkoona/public_html/connect_to_db.php on line 13
哪里xxx.xxx.xxx.xxx
为domain.com的公网IP(如果我得到它的权利)。
而且对着陆页的phpMyAdmin右边,我看到:
user: [email protected]
任何想法,为什么我不能用当前用户访问数据库? 我的代码中是否有任何错误?
谢谢。
'user1'没有权限访问该数据库,所以使用root用户授予'user1'的权限 – krishna
您的托管服务提供商可能有文档连同示例连接...检查它 – user1844933
创建用户时,您必须使用正确的“主机”字段创建它们:从用户名“user1”,主机“%”,密码“whatever”开始,然后按照您的方式运行 –