Skip to main content

Connecting with PHP

This guide explains how to connect a PHP application to a Hydra database using the PDO extension. It covers setting up prerequisites, configuring the connection URI, and running a test SQL query.

Variables

To connect to a Hydra database, you only need one environment variable — the connection URI.

Variable

Description

Purpose

HYDRA_URI

Full Hydra connection string from Elestio

Encodes all connection info in one URI

A typical URI looks like this:

postgresql://<USER>:<PASSWORD>@<HOST>:<PORT>/<DATABASE>

You can find the details needed in the URI from the Elestio service overview details. Copy and replace the variables carefully in the URI example provided above.

image.png

Prerequisites

Install PHP

Check if PHP is installed:

php -v

If not, download and install PHP from: https://www.php.net/downloads.php

Code

Once all prerequisites are set up, create a new file named hydra.php and add the following code and replace the HYDRA_URI with actual link or in environment setup as you wish:

<?php
$db_url = getenv("HYDRA_URI") ?: "postgresql://user:password@host:port/database";
$db_parts = parse_url($db_url);
$db_name = ltrim($db_parts['path'], '/');
$dsn = "pgsql:host={$db_parts['host']};port={$db_parts['port']};dbname={$db_name}";

try {
    $pdo = new PDO($dsn, $db_parts['user'], $db_parts['pass']);
    $version = $pdo->query("SELECT VERSION()")->fetchColumn();
    echo "Connected to Hydra: " . $version . PHP_EOL;
} catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage() . PHP_EOL;
}

To execute the script, open the terminal or command prompt and navigate to the directory where hydra.php. Once in the correct directory, run the script with the command

export HYDRA_URI=postgresql://user:password@host:port/database

Navigate to the directory containing hydra.php and run:

php hydra.php

If successful, you’ll see output like:

Connected to Hydra: PostgreSQL 14.13 (Debian 14.13-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit