对于foreach循环的每次迭代,只插入数组的最后一个值

时间:2017-01-30 21:26:52

标签: php sql mysqli

我试图在foreach循环的帮助下用值数组更新表列,但是每次迭代只插入数组的最后一个值:

if(is_array($specificdates)){

    foreach($specificdates as $date){

        $query_specific = "update specificdates set specific_date='".$date."'where fevent_id='".$eventId."' ";
        if(mysqli_query($link, $query_specific)){
            echo "sp success<br>";
            echo $date."<br>";
        } else {
            echo "sp fail<br>";
        }
    }
}

1 个答案:

答案 0 :(得分:0)

这应该是评论,但我在这里的声誉很低。原谅我

会发生什么事情是数据库中的相同记录会不断更新。 event_id的值是相同的。您应该考虑更新数据库结构或将event_id解析为数组。这将有助于更新多个记录,因为event_id的值将针对每次迭代而更改。另外,请考虑使用MYSQLI或PDO。此外,逃避输入字符串或id,因为攻击者可以轻松利用它。