Que diriez-vous de préparer l'instruction en dehors de la boucle, puis de lier les valeurs dans la boucle et d'exécuter.
<?php
if(isset($_POST['submit'])){
$name = $_POST['name'];
$roll = $_POST['roll'];
$sql = "UPDATE student SET name=:name WHERE roll=:roll";
$query = $con->prepare($sql);
foreach($roll as $key => $n){
$query->bindParam(':roll', $n[$key]);
$query->bindParam(':name', $name[$key]);
$query->execute();
}
}