【发布时间】:2018-03-22 14:33:45
【问题描述】:
我有一个 PHP 应用程序需要远程连接到 HEROKU 应用程序的 postgresql 数据库并运行数据库查询(最好使用 pg_query,尽管 PDO 也可以)。我一直在尝试 1.) 使用 Heroku DATABASE_URL 获取实时数据库凭据(正如他们推荐的那样),以及 2) 即使提供了硬编码凭据,也可以生成任何类型的数据库连接。我还没有找到建立连接的正确步骤顺序。 (应用在 GoDaddy 主机上运行 - 为清楚起见而提及。)
我正在尝试连接到数据库,运行选择查询并将结果集中的值分配给 PHP 变量。我可以使用 PGAdmin3 连接到数据库,因此远程访问不是问题。
到目前为止我所拥有的(编辑评论的行来自原始帖子):
//$DATABASE_URL='$({heroku CLI string, pasted from Heroku db credentials page})';
//$db = parse_url(getenv($DATABASE_URL));
$db_url = getenv("DATABASE_URL") ?: "postgres://user:pass@host:port/dbname";
$db = pg_connect($db_url);
if($db) {echo "connected";} else {echo "not connected";}
$selectSql = "SELECT id, name FROM companies ORDER BY id";
$result = pg_query($db, $selectSql);
while ($row = pg_fetch_row($result)) {
$id = $row["id"];
$name = $row["name"];
echo "<br>id: ".$id;
echo "<br>name: ".$name;
}
连接数据库和运行查询缺少什么?
【问题讨论】:
标签: php postgresql heroku connection remote-access