sql >> Base de Datos >  >> RDS >> Mysql

PHP DELETE inmediatamente después de seleccionar

Estás sobrescribiendo tu $result variable con su segunda declaración:

$query="DELETE FROM names WHERE id = $result[id];";
$result = mysql_query($query); // result does not contain the array anymore

Cambia el nombre por otro. No tiene nada que ver con llamadas por referencia o similares.

En realidad, su primera asignación de valores es innecesaria como $row ya es una matriz:

$row = mysql_fetch_assoc($result);
$result = array();
$result["id"] = $row["id"];
$result["peerID"] = $row["peerID"];
$result["name"] = $row["name"];

Podrías simplemente hacer:

$row = mysql_fetch_assoc($result);
// at the end
return $row;

Entonces ni siquiera tiene que cambiar el nombre de su variable para la segunda declaración. Pero considere usar nombres de variables significativos.