Insert Extra fields added in the front end registration form to DB

Why the downvotes for using user meta? That’s how I do it, I store all the extra profile stuff in wp_usermeta table by utilizing update_user_meta.

<?php

// first validate all $_POST data
$validated = $this->validate_and_sanitize();

$username = $validated['uname'];
$password = $validated['pass'];
$email = $validated['email'];

$new_user_id = wp_create_user($username, $password, $email);

if ( is_wp_error($new_user_id) && array_key_exists('existing_user_login', $new_user_id->errors)) {
    $return['status'] = 2; // email entered is already in use
    $return['msg'] = 'Email entered is already in use';
    echo json_encode($return);
    exit;
}
if( !is_wp_error($new_user_id) ) {
    if (isset( $validated['phone'] ) && strlen(trim($phone)) > 0) { 
        $phone = mysql_real_escape_string($validated['phone']);
        $umeta_id_phone = update_user_meta( $new_user_id, 'phone', $phone ); 
    }
    if (isset( $validated['phone'] ) && strlen(trim($city)) > 0) {
        $city = mysql_real_escape_string($validated['city']);
        $umeta_id_city = update_user_meta( $new_user_id, 'city', $city ); 
    }
}