आप $_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 में बदलने पर विचार करें।