Her iki değişken diziler içerir, bu iş olamaz. Sen Eşyaları tek tek güncellemek (ya da ben burada açıklamak olmaz bir beceriksiz MySQL CASE deyimi kullanmak) gerekir:
foreach ($userrole as $key => $role) {
$query = "UPDATE members SET userrole ='$role'
WHERE member_id = '$member_id[$key]'";
// perform query ...
}
Ya da sadece $ member_id bir dizi ise:
$query = "UPDATE members SET userrole ='$userrole'
WHERE member_id IN ('" . implode(',', $member_id) . "')";
// perform query ...
Sen daha onlar diziler olduğunu yansıtmak için değişkenleri adlandırmak gerekir. Sadece çoğul kullanın:
$userrole => $userroles
$member_id => $member_ids
Şey daha: bu değerler bir HTML formundan geliyor musun? Eğer evet ise, you should really kullanarak onları sterilize mysql_escape_string()
. This can be done for multiple values at once using array_map()
a>:
$userroles = array_map('mysql_escape_string', $userroles);
$member_ids = array_map('mysql_escape_string', $member_ids);