PHP

PDO Connection with Sensible Defaults

admin by @admin ADMIN
Jun 18, 2026
May 31, 2026
Public
0 0 up · 0 down Sign in to vote
Open a PDO connection with all the options you almost always want: real prepared statements, exceptions on error, associative-array fetch mode, UTF-8 charset.
PHP
Raw
<?php
function pdoConnect(string $host, string $db, string $user, string $pass): PDO {
    return new PDO(
        "mysql:host=$host;dbname=$db;charset=utf8mb4",
        $user,
        $pass,
        [
            PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,   // throw on errors
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,         // assoc arrays
            PDO::ATTR_EMULATE_PREPARES   => false,                    // real prepares
            PDO::ATTR_STRINGIFY_FETCHES  => false,                    // keep int/float types
        ]
    );
}

$db = pdoConnect('localhost', 'myapp', 'user', 'secret');
$rows = $db->query('SELECT id, name FROM users')->fetchAll();
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.