Vous écrasez votre $result
variable avec votre deuxième instruction :
$query="DELETE FROM names WHERE id = $result[id];";
$result = mysql_query($query); // result does not contain the array anymore
Changez le nom en quelque chose d'autre. Cela n'a rien à voir avec l'appel par référence ou autre.
En fait, votre première affectation des valeurs est inutile car $row
est déjà un tableau :
$row = mysql_fetch_assoc($result);
$result = array();
$result["id"] = $row["id"];
$result["peerID"] = $row["peerID"];
$result["name"] = $row["name"];
Vous pouvez simplement faire :
$row = mysql_fetch_assoc($result);
// at the end
return $row;
Ensuite, vous n'avez même pas besoin de changer le nom de votre variable pour la deuxième instruction. Mais pensez à utiliser des noms de variables significatifs.