Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP चयन के तुरंत बाद हटाएं

आप अपने $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;

फिर आपको दूसरे स्टेटमेंट के लिए अपना वेरिएबल नाम बदलने की भी जरूरत नहीं है। लेकिन सार्थक चर नामों का उपयोग करने पर विचार करें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql से डेटा प्राप्त करें और PHP सरणी में कनवर्ट करें

  2. PHP बाइंडपरम PARAM_INT आउट पैरामीटर के साथ काम नहीं कर रहा है

  3. मारियाडब - विस्तारित सम्मिलित निष्पादन समय का प्रत्येक बैच धीरे-धीरे बढ़ रहा है

  4. MySQL:INT को DATETIME में बदलें

  5. स्पष्ट रूप से आदेश देकर डेड लॉक से बचें