如何建立与远程数据库的连接?
Posted
技术标签:
【中文标题】如何建立与远程数据库的连接?【英文标题】:How do I establish a connection to a remote database? 【发布时间】:2022-01-12 00:22:31 【问题描述】:我只是想理解一般概念。
我在 Google Cloud Platform 上有一个 LAMP 堆栈虚拟机实例,并带有 mysql 数据库。
我已经通过 phpMyAdmin 网页界面创建了一个数据库。
我的 index.php 文件包含使用该数据库中数据的 php 代码。
重要提示:项目文件存储在我家(本地)的电脑上。
问题:我的项目中有一个 config.php 和 index.php 文件,但不知道我应该做什么来连接/“对话”到正在运行的数据库GCP 虚拟机实例。
我尝试将我的 config.php 中的“DBHOST”值更改为数据库主机名,但这显然没有做任何事情,因为我看不出有足够的信息来连接到数据库。
这是我的 config.php 文件
<?php
define('DBHOST', 'localhost');
define('DBNAME', 'business_covid');
define('DBUSER', 'testuser');
define('DBPASS', 'hidden');
define('DBCONNSTRING','mysql:dbname=business_covid;charset=utf8mb4');
?>
我是否需要比这更多的信息并且是一个正确配置的 config.php 文件来连接数据库?
【问题讨论】:
你没有说太多,我想如果你陈述了这些,那么你已经创建了数据库并且可以在 php 之外或使用 phpMyAdmin 连接它? 您是否尝试过使用 MySQLi 或 PDO? -> 推荐:w3schools.com/php/php_mysql_connect.asp 这是一个关于连接性的相当广泛的问题。您需要首先回答很多问题,例如,您要连接的远程数据库在哪里?数据库是否在您的机器上,并且您希望 GCP 上的 PHP 页面在本地连接到您的机器?或者您是否尝试在 GCP 上运行 Cloud SQL 实例并且想要连接到该实例?从广义上讲,您将更改为指向新数据库的 dbhost 变量。但根据数据库所在的位置,会有更多涉及的步骤。 @Shlomtzion 是的,数据库已创建,我通过 GCP 中提供的 phpMyAdmin Web 界面进行连接 @GabeWeiss 是的,我正在尝试连接 GCP 上的 Cloud LAMP 实例 【参考方案1】:你可以试试这个方法吗?
$username = 'testuser';
$password = 'hidden';
$dbName = 'business_covid';
$dbHost = "127.0.0.1";
// Connect using TCP
$dsn = sprintf('mysql:dbname=%s;host=%s', $dbName, $dbHost);
// Connect to the database
$conn = new PDO($dsn, $username, $password, $connConfig);
查看链接了解更多信息: https://cloud.google.com/sql/docs/mysql/connect-run#php
【讨论】:
您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。 查看链接了解更多信息:cloud.google.com/sql/docs/mysql/connect-run#php以上是关于如何建立与远程数据库的连接?的主要内容,如果未能解决你的问题,请参考以下文章