【问题标题】:how to connect to remote database in php pdo如何在php pdo中连接到远程数据库
【发布时间】:2021-04-11 09:31:10
【问题描述】:

This is view of my phpmyadmin web server

我需要连接到我在 PHPmyadmin 上的大学网络服务器,即“phpmyadmin.newnumyspace.co.uk” 实现这一目标需要做出哪些改变。我的意思是我知道 localhost 会被更改和端口,需要在这里放一些东西,但请帮帮我,因为我不懂语法

<?php

$db_host="localhost";
$db_user="root";
$db_password="";
$db_name="nbl";

try{
    $db=new PDO("mysql:host={$db_host};dbname={$db_name}",$db_user,$db_password);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    

}

catch(PDOEXCEPTION $e)
{
    
    $e->getMessage();
}

?>

【问题讨论】:

  • phpmyadmin.newnumyspace.co.uk 听起来像是 web 主机,而不是 mysql 主机。但如果是,只需更改 db_host。除非端口已更改,否则您无需更改任何其他内容,只需更改用户/密码/数据库名称。
  • 需要更多信息。 1.你没有连接到phpmyadmin。您连接到 mysql 服务器。 2. 是允许远程直接连接mysql服务器还是需要通过ssh隧道? 3. 你真的可以做你想做的事吗?
  • @JasonK 但这将如何帮助连接到我的网络主机,因为甚至没有提到网络主机
  • 也许,也许不是。你需要和主人谈谈。 PHPMyAdmin 是一个数据库的网页界面,它不是数据库的类型,不经常用作主机名。
  • 是的,这并不意味着什么。 PHPMyAdmin 设置为使用localhost,但您不能远程使用它,因为 localhost 始终表示本地系统。您需要联系您的主机以了解是否以及如何远程连接到数据库。

标签: php mysql pdo phpmyadmin


【解决方案1】:

您的 sql DB 是 Web 主机的本地数据库,因为它们都在 linux XAMPP 服务器上运行。显然包括正确的用户名和密码。

function getConnection() {
try {
    /* connects to the SQL DB */
    $connection = new 
    PDO("mysql:host=localhost;dbname=unn_w19038752",
    "unn_w19038752", "Password");
$connection->setAttribute(PDO::ATTR_ERRMODE, 
PDO::ERRMODE_EXCEPTION);
return $connection;
} catch (Exception $e) {
/* displays an error if unable to connect */
throw new Exception("Connection error ". $e->getMessage(), 0, $e);
}
}

然后你可以在每次需要建立连接时调用这个函数 ($dbConn = getConnection();)

虽然为了更清楚的答案,您最好向您的 KF4009 模块导师寻求帮助(这就是您支付 Uni 费用的原因 :-))

问候,前 NU 学生 :-)

附: nbl 是一个表而不是数据库,并且您没有 root 访问权限(用户名),请检查来自 newnumyspace 的电子邮件以获取正确的服务器登录详细信息。

【讨论】:

    猜你喜欢
    • 2021-02-25
    • 2016-03-27
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多