Mysql
 sql >> Database >  >> RDS >> Mysql

PHP DELETE subito dopo la selezione

Stai sovrascrivendo il tuo $result variabile con la tua seconda affermazione:

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

Cambia il nome in qualcos'altro. Non ha nulla a che fare con call-by-reference o simili.

In realtà, la tua prima assegnazione dei valori non è necessaria in quanto $row è già un array:

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

Potresti semplicemente fare:

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

Quindi non devi nemmeno cambiare il nome della tua variabile per la seconda istruzione. Ma considera di usare nomi di variabili significativi.