What potential pitfalls should be aware of when switching from mysqli to PDO in PHP?

When switching from mysqli to PDO in PHP, one potential pitfall to be aware of is the difference in parameter binding syntax. PDO uses named placeholders (:name) while mysqli uses question marks (?) for binding parameters. Make sure to update your queries accordingly to avoid any syntax errors.

// Before switching from mysqli to PDO
$stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();

// After switching to PDO
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = :id");
$stmt->bindParam(":id", $id, PDO::PARAM_INT);
$stmt->execute();