How can PHP developers transition from using mysql_* functions to PDO for improved database interaction and future compatibility?

To transition from using mysql_* functions to PDO for improved database interaction and future compatibility, PHP developers should rewrite their database queries using PDO prepared statements. This will help prevent SQL injection attacks and make the code more secure and maintainable. Additionally, PDO supports multiple database drivers, making it easier to switch between different databases in the future.

// Connect to the database using PDO
$dsn = 'mysql:host=localhost;dbname=mydatabase';
$username = 'username';
$password = 'password';

try {
    $pdo = new PDO($dsn, $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die('Connection failed: ' . $e->getMessage());
}

// Prepare a statement and execute it
$stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id');
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);

// Use the fetched data
echo $result['username'];