Bilgi için teşekkürler, ufak bir detay gözümden kaçtığı için bu bilgiye ihtiyaç duymuştum fakat burada sorun sizin foreach içerisinde return değerini kullanmanız. Kısaca kullandığınız kod bloğu yanlış. tabi kod bluğunuzun tamamnı göremediğimiz için belki bir yerde return yapmanız gerekiyordur fakat bu foreach in içerisinde olamaz. İlk değer döndükten sonra return ile dönüş yapıyorsunuz ve foreachten çıkıyorsunuz aynı break kullandığınızı düşünün.
Örnek vermek gerekirse;
foreach ($_POST['guard'] as $q) {
//Buraya echo ile $q basarsam iki veride geliyor. Ama iki tane dönmüyor. şu set $q da.
//$last_id = $db->lastInsertId(); Bunu neden kullandığınızı anlamadım. Eğer foreach ten önce yukarıda bir insert işlemi yapıyorsanız bu kod doğru bilgi verecektir.
$query = $db->prepare("UPDATE customers SET $q =1 WHERE id=?");
$insert = $query->execute(array(
"1"
));
}
//$last_id = $db->lastInsertId(); Bunu neden kullandığınızı anlamadım. Eğer foreach ten önce yukarıda bir insert işlemi yapıyorsanız bu kod doğru bilgi verecektir.
bu kod bloğu "1" ile alakalı idi kaldırmayı unuttum bu kodla alakası yok.