我试图找到自己在做错的事情-我无法理解或找到关于它的一些信息。
简而言之,表中有3行。
listCommingFromJava.asScala.toList
当我执行验证请求时,该数据是否已经存在,但从头开始处理 (如何做相反的事情?)
例如,“发布”请求:login(me3),mail(me2@mail.ru),ip(127.0.0.1) 然后他会告诉我-从头开始,就是ip!我更改了IP,他通过邮件向我展示了,但没有从登录名中看到
我该如何解决-还是我做错了什么(在第三行中登录-在第二行中发送邮件,在第一行中输入IP-第一行中)如何做到这一点,以使所有内容都不以IP开头(即,而不是从头开始)
NullPointerException
当然,我有另一种选择-但我想以一种简单的方式来做!
id login mail ip
1 me me@mail.ru 127.0.0.1
2 me2 me2@mail.ru 4234234
3 me3 me3@mail.ru 4234234
我一直在寻找示例-我没有找到信息,所以我认为这里有人可以告诉我前进的方向。如何将这三个请求变成1?
最好的选择是分别检查登录名和单独检查电子邮件,现在我了解自己的愚蠢以及很长时间都找不到类似的东西。
当然,我可以一次检查所有内容并显示已经存在的信息,但是无法确定顺序。并通过单独的存在性测试,我们确切地知道我们拥有什么,并且确切地知道要显示什么信息。
答案 0 :(得分:1)
这不是答案,只是一个很大的评论。
我仍然无法实现您的目标。但我觉得您想检查一下唯一性:登录名,电子邮件和IP。
您可以为此进行非常直接的实现。
https://www.db-fiddle.com/f/JB1EDnr8GBYsTU1z8dRDS/0
ALTER TABLE users ADD UNIQUE unique_login(login);
ALTER TABLE users ADD UNIQUE unique_ip(ip);
ALTER TABLE users ADD UNIQUE unique_email(email);
正如您在小提琴中看到的那样,MySql将为您返回正确的错误消息,您可以将其用于输出。
另一种猜测您到底在寻找什么的尝试,可能您不愿意elseif
,而只是按照自己喜欢的顺序依次if
一系列:
if (empty($row)) {
echo "All is well!";
} else {
if ($row['ip']==$ip) {
$message .= "You have already registered - only one registration is allowed. \n";
};
if ($row['login']==$login) {
$message .= "Sorry, username is already taken! \n";
};
if ($row['email']==$email) {
$message .= "Sorry, the email id is already taken! \n";
};
echo $message;
}