如何使用PDO在另一台主机上连接mysql db?

时间:2013-09-14 16:25:29

标签: php mysql pdo connection

我不知道如何连接到不同主机(服务器)中的一个mysql数据库以在另一个网站上显示药物列表...你能帮我解决这个问题吗?

这是我在同一台服务器上使用的连接,但在不同的服务器中我无法连接。你能解释一下怎么做吗?

<?php 
$dbtype     = "mysql";
$dbhost         = "localhost";
$dbname     = "XXXX_medicament";
$dbuser     = "XXXX_medicament";
$dbpass     = "123456789";
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
$conn->exec("set names utf8");
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
?>

这里是错误:

  

致命错误:带有消息的未捕获异常“PDOException”   'SQLSTATE [28000] [1045]拒绝用户访问   'XXXX_medicament'@'localhost'(使用密码:YES)'in   /home/XXXX/public_html/peri/includes/config.med.php:7堆栈追踪:#0   /home/XXXX/public_html/peri/includes/config.med.php(7):   PDO-&gt; __ construct('mysql:host = loca ...','XXXX_medicament','123456789')    #1 /home/XXXX/public_html/peri/inicio.php(32):include('/ home / XXXX / ...')#2 /home/XXXX/public_html/peri/home.php(7):   include('/ home / XXXX / ...')#3 {main}引入   第7行/home/XXXX/public_html/peri/includes/config.med.php

2 个答案:

答案 0 :(得分:0)

首先,您必须检查其他数据库是否允许外部连接。如果是,则必须将数据库主机地址更改为mysql服务器的地址。

示例:

$dbhost = "mysql.host.com";

或IP地址

$dbhost = "123.123.123.123";

答案 1 :(得分:0)

简单然后。你有用户XXXX_medicament的密码错了!用户名在远程计算机上有不同的密码。

尝试登录Web主机提供的控制面板,并查找配置数据库的选项。在那里,您应该能够为用户更改密码。