Bạn đang ghi đè $result
của mình biến với câu lệnh thứ hai của bạn:
$query="DELETE FROM names WHERE id = $result[id];";
$result = mysql_query($query); // result does not contain the array anymore
Thay đổi tên thành một cái gì đó khác. Nó không liên quan gì đến call-by-reference hoặc tương tự.
Trên thực tế, việc gán giá trị đầu tiên của bạn là không cần thiết vì $row
đã là một mảng:
$row = mysql_fetch_assoc($result);
$result = array();
$result["id"] = $row["id"];
$result["peerID"] = $row["peerID"];
$result["name"] = $row["name"];
Bạn chỉ có thể làm:
$row = mysql_fetch_assoc($result);
// at the end
return $row;
Sau đó, bạn thậm chí không phải thay đổi tên biến của mình cho câu lệnh thứ hai. Nhưng hãy cân nhắc sử dụng các tên biến có ý nghĩa.