繁体   English   中英

从本地主机连接服务器数据库时出错

[英]Error while connecting a server database from local host

我想在本地系统(localhost)中运行PHP脚本,并将数据存储在服务器数据库中。 通过PHP脚本从本地主机连接到远程mysql数据库时出现错误。

Warning: mysql_connect(): Access denied for user 'XXXX'@'ip address' (using password: YES) in  E:\xampp\htdocs\New\example\include\config.php on line 13

我尝试使用

$con= mysql_connect("example.com:3306","db username","password"); 
mysql_select_db('db', $con);

我也尝试使用mysqli_connect(...)但无法连接。

有人请指导我该如何解决?

如果您正在Localhost上运行它,请按以下步骤进行操作

$connection = mysqli_connect('localhost','username', 'password', 'database');

使用mysqli时,无需使用mysql_select_db因为在创建连接时会传递此信息。

我在这里要强调的主要解决方法是,如果您的本地计算机在您的计算机上并且您使用的是xampp或mamp等,则使用您的第一个凭据作为'Localhost'传递给connect变量,然后使用localhost。

使用mysql时,您完成的这种语法mysql_select_db('db', '$con')是错误的,您不需要将$connection变量传递到mysql中,因为这仅适用于新的mysqli

最后的建议是,只要您习惯了(最好是asap)离开mysql函数并使用mysqli,此步骤并没有太大不同,您只需要了解在$conn变量中传递的位置即可。

像您这样的接缝尚未授予用户特权。

在您的远程数据库上尝试。

~$ mysql -u root -p
Enter Password:

mysql> grant all privileges on *.* to user identified by 'pass' with grant option;

哦,先看看Kenziiee Flavius的答案-就像在本地主机上一样,这可能已经解决了您的问题。

通过命令行登录到服务器:

mysql -u username -p 

为您的远程主机创建一个新用户:

CREATE USER 'username'@'192.168.0.1' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'192.168.0.1';

将192.168.0.1替换为远程主机的ip或主机名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM