What are some best practices for updating database records based on values retrieved from external APIs in PHP?

When updating database records based on values retrieved from external APIs in PHP, it is important to first retrieve the necessary data from the API, then update the corresponding records in the database with the retrieved values. To ensure data integrity, it is recommended to use transactions to handle the database updates in a single atomic operation.

// Retrieve data from external API
$api_data = file_get_contents('https://api.example.com/data');
$api_data = json_decode($api_data);

// Start a transaction
$pdo->beginTransaction();

try {
    // Update database records based on API data
    $stmt = $pdo->prepare("UPDATE table_name SET column_name = :value WHERE id = :id");
    
    foreach ($api_data as $data) {
        $stmt->bindParam(':value', $data->value);
        $stmt->bindParam(':id', $data->id);
        $stmt->execute();
    }

    // Commit the transaction
    $pdo->commit();
} catch (Exception $e) {
    // Rollback the transaction if an error occurs
    $pdo->rollBack();
    echo "Error: " . $e->getMessage();
}