What are the advantages of using PDO for database operations in PHP compared to the mysql functions?

Using PDO for database operations in PHP has several advantages over the mysql functions. PDO provides a consistent interface for working with different types of databases, allowing you to switch between database systems without changing your code. PDO also supports prepared statements, which help prevent SQL injection attacks by automatically escaping input data. Additionally, PDO offers error handling that can help you troubleshoot database connection and query issues more easily.

// Using PDO for database operations in PHP
try {
    $pdo = new PDO('mysql:host=localhost;dbname=mydatabase', 'username', 'password');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    $stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id');
    $stmt->bindParam(':id', $userId, PDO::PARAM_INT);
    $stmt->execute();
    
    $user = $stmt->fetch(PDO::FETCH_ASSOC);
    
    // Do something with the $user data
    
} catch (PDOException $e) {
    echo 'Error: ' . $e->getMessage();
}