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

时间:2015-06-08 10:05:59

标签: php mysql database-connection

我想在本地系统(localhost)中运行PHP脚本,并将数据存储在服务器数据库中。我通过PHP脚本从localhost连接到远程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(...),但我无法联系。

有人请指导我如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

如果您在Localhost上运行它,那么就这样做

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

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

我将强调的主要修复方法是将您传递到connect变量的第一个凭据用作'Localhost',如果它在您的计算机上是本地的,并且您正在使用xampp或mamp等,那么请使用localhost。

使用mysql时你所做的mysql_select_db('db', '$con')语法是错误的你不需要将$connection变量传递给mysql,因为这只适用于新的mysqli

一旦您的舒适(最好尽快)离开mysql函数并使用mysqli,最后的建议,移动并没有太大的不同,您只需要知道传递$conn变量的位置。

答案 1 :(得分:0)

像你这样的接缝没有授予用户权限。

在远程数据库上试试这个。

~$ mysql -u root -p
Enter Password:

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

答案 2 :(得分:0)

哦,先看看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或主机名。