How to save dropdown slection by a user in the DB

You can update user meta either through custom code or using a plugin. Advanced custom fields will solve your issue. Check out the reference links for more info : https://support.advancedcustomfields.com/forums/topic/how-to-use-acf-to-add-user-profile-meta/ https://www.advancedcustomfields.com/resources/how-to-get-values-from-a-user/

How can I get $wpdb to show MySQL warnings?

From quick look through the source it doesn’t seem like wpdb actively implements any handling for warnings (as opposed to errors). Proactively you can just ask for them as a custom query ($wpdb->get_results( ‘SHOW WARNINGS;’ ) I suppose, but implicitly they just aren’t tracked by WP core.