Du er ved at overskrive dit $result
variabel med din anden sætning:
$query="DELETE FROM names WHERE id = $result[id];";
$result = mysql_query($query); // result does not contain the array anymore
Skift navnet til noget andet. Det har intet at gøre med call-by-reference eller sådan noget.
Faktisk er din første tildeling af værdierne unødvendig som $row
er allerede et array:
$row = mysql_fetch_assoc($result);
$result = array();
$result["id"] = $row["id"];
$result["peerID"] = $row["peerID"];
$result["name"] = $row["name"];
Du kunne bare gøre:
$row = mysql_fetch_assoc($result);
// at the end
return $row;
Så behøver du ikke engang at ændre dit variabelnavn for den anden sætning. Men overvej at bruge betydningsfulde variabelnavne.