Вие презаписвате своя $result
променлива с вашия втори израз:
$query="DELETE FROM names WHERE id = $result[id];";
$result = mysql_query($query); // result does not contain the array anymore
Променете името на нещо друго. Няма нищо общо с повикване по препратка или други подобни.
Всъщност първото ви присвояване на стойностите е ненужно като $row
вече е масив:
$row = mysql_fetch_assoc($result);
$result = array();
$result["id"] = $row["id"];
$result["peerID"] = $row["peerID"];
$result["name"] = $row["name"];
Можете просто да направите:
$row = mysql_fetch_assoc($result);
// at the end
return $row;
Тогава дори не е нужно да променяте името на променливата си за втория израз. Но помислете дали да използвате смислени имена на променливи.