U overschrijft uw $result
variabele met je tweede statement:
$query="DELETE FROM names WHERE id = $result[id];";
$result = mysql_query($query); // result does not contain the array anymore
Verander de naam in iets anders. Het heeft niets te maken met call-by-reference of iets dergelijks.
Eigenlijk is uw eerste toewijzing van de waarden niet nodig als $row
is al een array:
$row = mysql_fetch_assoc($result);
$result = array();
$result["id"] = $row["id"];
$result["peerID"] = $row["peerID"];
$result["name"] = $row["name"];
Je zou gewoon kunnen doen:
$row = mysql_fetch_assoc($result);
// at the end
return $row;
Dan hoef je niet eens je variabelenaam te veranderen voor het tweede statement. Maar overweeg om zinvolle namen van variabelen te gebruiken.