prepare( "SELECT `m`.`last_login` FROM `mailbox` AS m LEFT JOIN `monitored_mailboxes` AS `mon` ON (`m`.`username`=`mon`.`username`) WHERE `m`.`username` = ? AND (ISNULL(`mon`.`last_login`) OR `mon`.`last_login` < `m`.`last_login`);" ); $update = $db->prepare( "INSERT INTO `monitored_mailboxes` (`username`, `last_login`) VALUES(?, ?) ON DUPLICATE KEY UPDATE `last_login` = ?;" ); $changed = ''; foreach(MONITOR_MAILS as $mail){ $stmt->execute([$mail]); if($result = $stmt->fetch(PDO::FETCH_ASSOC)){ $update->execute([$mail, $result['last_login'], $result['last_login']]); $changed .= $mail . ' -> ' . date('Y-m-d H:i:s', $result['last_login']) . ' UTC' . PHP_EOL; } } if(!empty($changed)){ mail(NOTIFICATION_EMAIL, 'User logged in', $changed."\n\n"); }