Overview

The PHP Data Objects (PDO) is an extension, which supports PostgreSQL protocol implemented in Oxla and provides consistent interface for accessing databases in PHP. This page and its sections describe how to use PHP PDO with Oxla and also lists unsupported functions and structures.

Establishing connection

conn = new PDO(
    "pgsql:host={oxla_host};port={oxla_port};dbname=oxla",
    {oxla_user},
    {oxla_password},
    [ 
        PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        PDO::ATTR_EMULATE_PREPARES   => true,
    ]);

Note that the PDO::ATTR_EMULATE_PREPARES attribute is set to true, which is required in Oxla to ensure stability of query execution. Without this attribute setup, you may encounter prepared statement errors during queries execution:

    ERROR: prepared statement [...]
If you are running Oxla Cloud, you can append sslmode=verify-full;sslrootcert=\{path to ssl cert from SaaS\} to the first parameter of PDO to ensure full SSL endpoint verification and encryption.

Example usage

This example shows basic query execution, once the connection has been established:

$stmt = $conn->prepare("SELECT :number as num;", [PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY]);
$stmt->execute(['number' => 1234]);
$res = $stmt->fetchAll();
print_r($res)

Unsupported Functions & Structures

Here you can find a list of functions and potentially related structures, that we currently do not support when working with Oxla and PHP PDO: