Future Tech
Future Tech

Reputation: 37

Adding data into custom fields in wp_users table

I have created boxes for users to insert an HRID and I am saving it in @_POST(user_hrid). I want to put this data in wp_users in a custom field I have created called user_hrid. The following function makes my website go blank... Any ideas?

/**
 * Updates the user data
 */
function update_my_custom_user_meta() {

$servername = "localhost";
$username = "databaseusername";
$password = "databasepassword";
$dbname = "databasename");

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$user = wp_get_current_user();

$sql = "UPDATE wp_users SET user_hrid =".$_POST['user_hrid']." WHERE id=".$user;

if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();

}

add_filter('wc_create_new_customer', 'update_my_custom_user_meta');

Upvotes: 2

Views: 1262

Answers (1)

Hyyan Abo Fakher
Hyyan Abo Fakher

Reputation: 3527

Use update_user_meta to add it to wp_usersmeta table instead of adding it to wp_users, it is for these cases

$user_id = 1;
$new_value = 'some new value';

// will return false if the previous value is the same as $new_value
update_user_meta( $user_id, 'some_meta_key', $new_value );

// so check and make sure the stored value matches $new_value
if ( get_user_meta($user_id,  'some_meta_key', true ) != $new_value )
    wp_die('An error occurred');

Upvotes: 1

Related Questions