Topics Database & Security PDO & Database Access
intermediate 14 min read

PDO & Database Access

PDO connections, prepared statements, transactions, and result fetching.

PDO Database Access

// Connect
\$pdo = new PDO(
"mysql:host=localhost;dbname=test",
\$user, \$password,
[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
);

// Prepared statement (prevents SQL injection)
\$stmt = \$pdo->prepare(
"SELECT * FROM users WHERE email = :email"
);
\$stmt->execute(['email' => \$email]);
\$user = \$stmt->fetch(PDO::FETCH_ASSOC);

// Named vs positional
\$stmt = \$pdo->prepare(
"INSERT INTO users (name, email) VALUES (?, ?)"
);
\$stmt->execute([\$name, \$email]);

// Transactions
\$pdo->beginTransaction();
try {
// multiple queries
\$pdo->commit();
} catch (Exception \$e) {
\$pdo->rollBack();
}

Examples

<?php
// Simulated PDO example
function getUserByEmail(PDO $pdo, string $email): array|false {
    $stmt = $pdo->prepare('SELECT * FROM users WHERE email = ?');
    $stmt->execute([$email]);
    return $stmt->fetch(PDO::FETCH_ASSOC);
}

Your Notes

Sign in to take notes for this lesson.

Quiz

Database & Security Quiz

0 questions

Sign in to take quiz

Discussion

Sign in to join the discussion.

Flashcards

Sign in to create flashcards.