当用户登录时,我需要更改数据库表中的整数。由于某种原因,对象中的变量wp_user是空的,并且表中没有更新任何内容。如果我将查询回显到测试页面,一切都会正确显示。这是我的确切代码:
function mv_update_notification_data() {
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$conn = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$current_user = wp_get_current_user();
$user_id = $current_user->ID;
$user_email = $current_user->user_email;
$user_facility = get_user_meta( $user_id, 'user_facility', true );
$username = $current_user->user_login;
if ( $username == $user_facility . 'DOC' ){
$conn->query("UPDATE db SET doc_notified = 1 WHERE facility = '$user_facility'");
}
}
add_action('wp_login', 'mv_update_notification_data');
如果用户登录并具有“testDOC”的用户名并且该用户$user_facility设置为“test”,doc_notified则表中的列应更改为 1,但事实并非如此。
如果我不将它嵌套在条件中,查询就会触发。
慕尼黑的夜晚无繁华