आप अपने $result
. को ओवरराइट कर रहे हैं आपके दूसरे कथन के साथ परिवर्तनशील:
$query="DELETE FROM names WHERE id = $result[id];";
$result = mysql_query($query); // result does not contain the array anymore
नाम को किसी और चीज़ में बदलें। इसका कॉल-बाय-रेफरेंस या ऐसे से कोई लेना-देना नहीं है।
वास्तव में, मूल्यों का आपका पहला असाइनमेंट अनावश्यक है क्योंकि $row
पहले से ही एक सरणी है:
$row = mysql_fetch_assoc($result);
$result = array();
$result["id"] = $row["id"];
$result["peerID"] = $row["peerID"];
$result["name"] = $row["name"];
आप बस यह कर सकते हैं:
$row = mysql_fetch_assoc($result);
// at the end
return $row;
फिर आपको दूसरे स्टेटमेंट के लिए अपना वेरिएबल नाम बदलने की भी जरूरत नहीं है। लेकिन सार्थक चर नामों का उपयोग करने पर विचार करें।