Přepisujete svůj $result
proměnná s vaším druhým příkazem:
$query="DELETE FROM names WHERE id = $result[id];";
$result = mysql_query($query); // result does not contain the array anymore
Změňte název na něco jiného. Nemá to nic společného s call-by-reference nebo tak.
Ve skutečnosti je vaše první přiřazení hodnot jako $row
zbytečné je již pole:
$row = mysql_fetch_assoc($result);
$result = array();
$result["id"] = $row["id"];
$result["peerID"] = $row["peerID"];
$result["name"] = $row["name"];
Mohli byste udělat:
$row = mysql_fetch_assoc($result);
// at the end
return $row;
Pak ani nemusíte měnit název proměnné pro druhý příkaz. Zvažte však použití smysluplných názvů proměnných.