Reputation: 37
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
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