【发布时间】:2016-05-29 13:28:23
【问题描述】:
我在查询中遇到问题。需要在我的数据库中插入电子邮件但不重复。输入的电子邮件以逗号或分号分隔。我留下了到目前为止的代码:
$separador = $_POST['separador'];
$listemails= explode($separador, $_POST['emails']);
$count = count($listemails);
for($i=0; $i < $count; $i++){
$check = $connection -> query("SELECT * FROM emails WHERE email_endereco='$listemails[$i]'") or die($connection -> error);
if($res = $check -> fetch_array(MYSQLI_ASSOC)){
...
}
$result = $connection -> query("INSERT INTO emails VALUES(NULL, '".$listemails[$i]."')") or die($connection -> error);
$lastid = $connection -> insert_id;
$connection -> query("INSERT INTO emails_lists VALUES(NULL,'$lastid','$l')") or die($connetion -> error);
}
我想念省略号的地方是什么?
【问题讨论】:
-
您正在寻找的是“继续;”对于已经在数据库中的电子邮件,它将跳回 for 循环的顶部。
-
请阅读有关 SQL 注入和参数的信息。这是一种非常糟糕的方法
-
@Milney 这个问题已经解决了:)
-
你仍然应该认真(尤其是如果代码在真实网站中使用)阅读 SQL 注入和参数