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

फ़ोरैच लूप का उपयोग करके एकाधिक फ़ील्ड सम्मिलित करें

आप $_POST . पर फ़ोरैच कर रहे हैं नाम/आयु सरणियों के बजाय। आपको नाम या आयु सरणी पर इस तरह foreach करना चाहिए:

if (
   !empty($_POST['name']) && !empty($_POST['age']) &&
   is_array($_POST['name']) && is_array($_POST['age']) &&
   count($_POST['name']) === count($_POST['age'])
) {
    $name_array = $_POST['name'];
    $age_array = $_POST['age'];
    for ($i = 0; $i < count($name_array); $i++) {

        $name = mysql_real_escape_string($name_array[$i]);
        $age = mysql_real_escape_string($age_array[$i]);

        mysql_query("INSERT INTO users (name, age) VALUES ('$name', '$age')");
    } 
}

मैं यह भी नोट करूंगा कि आप वर्तमान में SQL इंजेक्शन के लिए अतिसंवेदनशील हैं इसलिए मैंने नाम/आयु के लिए आपके तार से बचने का चरण जोड़ा।

मैं व्यक्तिगत रूप से प्रत्येक रिकॉर्ड को सम्मिलित करने के बजाय डीबी में केवल एक थोक डालने का अत्यधिक सुझाव दूंगा (मैं इसे लागू करने के लिए आपको छोड़ दूंगा)। प्रदर्शन के दृष्टिकोण से यह दृष्टिकोण लगभग हमेशा बेहतर होता है।

अंत में, आपको वास्तव में mysql_* . का उपयोग नहीं करना चाहिए कार्य के रूप में वे बहिष्कृत हैं। mysqli या PDO में बदलने पर विचार करें।



  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_insert_id() पर भरोसा कर सकता हूं, बहु सूत्रण व्यामोह?

  2. सरणी में डेटाबेस परिणाम जोड़ना

  3. अजीब SQLException:कॉलम नहीं मिला

  4. Netbeans में SSH पर MySql db से कनेक्ट करें

  5. mysql संग्रहीत कार्यविधि:एक सीमा विवरण में घोषित vars का उपयोग करके एक त्रुटि देता है